PHP関連のことを調べてみた2020年04月21日

PHP関連のことを調べてみた2020年04月21日

PHPスコープについて

##スコープについて
スコープとは、ある場所で定義された変数や関数使える範囲のことをスコープという。
PHPの変数には、グローバル変数とローカル変数がある。

###ローカル変数
ローカル変数は、決められた範囲内でしか使えない変数。例えば、関数の中で変数が定義されたら、その関数内でした使うことができない。

“`

“`

###グローバル変数
グローバル変数とは、ローカル変数とは違い、関数の外でも使える変数のこと。
先ほどのローカル変数を外で使えるようにするには

“`

元記事を表示

[nginx]https接続のnginxでPHPを動かす[PHP]

#nginxでPHPを動かす

httpではPHPが動くのにhttpsで動かない状態を改善する方法をメモとして残します。

nginx/conf.d/default.conf設定に以下を追加します。
rootフォルダは任意に変更してください。

“`default.conf
server {
listen 443 ssl http2;
server_name sample.com;

if ($request_uri ~ ^.*/index.html$){
rewrite ^(.*)/index.html$ $1/ permanent;
}

location / {
root /html;
index index.html index.htm index.php;
}

ssl_protocols TLSv1.2;
ssl_ciphers EECDH+AESGCM:EEC

元記事を表示

【PHP】Yahoo!広告APIでレポートデータを取得したい!

#はじめに

GoogleAPIについて書いたので、ついでにYahoo!もメモ。

Yahoo!も従来の「Yahoo!プロモーション広告API」から「Yahoo!広告 API」と名称を一新し、
新APIが2月20日に正式リリースされた。

これに合わせてサービスも名称を変更し、
「Yahooスポンサードサーチ」は「検索広告」に、「Yahooディスプレイ広告」は「ディスプレイ広告」に。

Googleと同じくoAuth2認証になった。ほかもいろいろ変わってるぽい。
個人的には認証以外にはそれほど大きく変わったわけではなさそう?という印象。

旧APIはスポンサードサーチが2020年9月30日(水)、
ディスプレイ広告が2020年12月16日(水)にサービス終了とのこと。
#コロナの影響で延びる可能性あるかも・・・?

これもGoogleと同じく旧APIでCRONエラーが出たので調べてみたら
新API正式リリースとか言われて「えっうそ」といった感じで慌てて直した。。
リリースノートはちゃんと確認しないとイカンです・・・
#っていうか運用担当者さんにメール来てただろうから教えてくれよと。。

元記事を表示

PHPインストールしたら必須!パス+version確認+php.iniの初期設定をしよう!

#PHPをインストールしよう
php5.6を公式サイトからインストール
![コメント.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543413/3f0a2960-82c5-a956-3b1b-8700ab583f03.png)
ちなみに公式サイトでのインストールはntc,src以外の.zip形式をDLしました。

例:バージョン7.3の場合
1/21/2020 3:36 PM 28326466 php-7.3.14-src.zip
1/21/2020 3:36 PM 25729058 php-7.3.14-Win32-VC15-x64.zip //ここ
1/21/2020 3:36 PM 23972430 php-7.3.14-Win32-VC15-x86.zip //ここ
1/21/2020 10:49 PM 25951614 php-7.4.2-nts-Win32-vc15-x64.zip
1/21/2020 10:49 PM 241803

元記事を表示

PHP7.4 ぼくのかんがえたさいきょうのphp.ini

## ストーリー

PHPをインストールしたら必ず行う `php.ini` の設定ですが、
ネット上ではPHP5系の情報がたくさん出回っており、非推奨または削除された設定例が数多く困り果てていました。

良い感じにまとめてくれてるサイトが見つからなかったので、最強でベストプラクティスな `php.ini` 推奨設定を考えました。
異論は受け付けますので、ぜひコメントください。

## 参考設定

PHPでは、開発用と本番用の設定例を用意してくれています。
なんと素晴らしいことなんでしょうか。これをベースに設定します。

– https://github.com/php/php-src/blob/master/php.ini-development
– https://github.com/php/php-src/blob/master/php.ini-production

予め以前の記事で設定の差分を調べておきましたので、よかったらご覧ください。

– [PHP7.4 php.ini-development と php.ini-production の違い](https://qiit

元記事を表示

学習日記 #2

#インターフェイス
PHPでは多重継承が認められていないため、一度に継承できるクラスは常に1つである。複数のクラスを同時に継承することは出来ない。そこで利用するのがインターフェイスである。

“`

元記事を表示

PHP+MySQLで作る2ちゃんねる風掲示板機能を解説

# 記事概要
 タイトルの通り、PHPとMySQLを利用して、かつて2ちゃんねると呼ばれていた掲示板のようなものの作り方を解説したものです。はじめにプログラムのソースコード全体を公開します。その後に要所毎に解説を加えていきます。

# Recruit
 唐突ですが、私は現在、地方の大学に通う、農学部の4年生です。プログラマーとして現在就職活動を行なっております。居住地域の関係上、IT企業でのアルバイト等の経験はなく、1年以上前から独学でプログラミングの学習をしつつ、個人開発を続けていました。

勤務地は問いません。雇用形態はアルバイトやインターンからでも構いません。

ご連絡はTwitterのDM→[@Ren_s_off](https://twitter.com/Ren_s_off) または、こちらのメールアドレスまで(oaihgop4@yahoo.co.jp)お願いいたします。お気軽にお問い合わせください。

### Portfolio & Skills
本記事を含め、Qiitaに作成した作品についての記事を投稿していこうと考えています。今は記事が執筆中の段階ですので、随時こちらにU

元記事を表示

ElementUIでゴリ押しいいね機能

FWなしphpとvue.jsでアプリ制作中。
自分用の備忘録として記録。

ElementUIのSwitchをいいねボタンに見立て、いいね機能を実装しました。

“`php
// お気に入り登録機能
if ($axiosData[‘is_active’] === true) {
try {
$dbh = dbConnect();
//後ほどログイン機能を実装し、条件としてもう一つユーザーを一致させるようにされたい
$sql = “SELECT * FROM favorite WHERE musician_id = :musician_id”;
$data = array(“:musician_id” => “${artistData[‘id’]}”);
$stmt = queryPost($dbh, $sql, $data);
$selectResult = $stmt->fetch(PDO::FETCH_ASSOC);
if ($selectResult ===

元記事を表示

Symfony のデバッグ画面から PHPStorm を開く

Symfony のデバッグ画面では、エラーが起きた場所がすぐわかりますよね。
コールスタックもわかるので不具合の場所をすぐに特定できます。

そうしたら、IDE を開いて修正する。という段取りになりますが、それをクリック2回で済ませることができます。

公式サイトでは次の場所で説明されています。

https://symfony.com/doc/current/reference/configuration/framework.html#ide

DeepL による翻訳を載せます。

> Symfony は変数ダンプと例外メッセージで見られるファイルのパスをブラウザのなかでこれらのファイルを開くリンクに変えます。お気に入りのIDEもしくはテキストエディタでこれらのファイルを開きたい場合、このオプションを次の値のいずれかに設定します: `phpstorm`、`sublime`、`texttmate`、`macvim`、`emacs`、`atom`と`vscode`。
>

こちらにあるように、*config/packages/framework.yaml* の `framework` の

元記事を表示

DB接続の際にSQL文中に変数を文字列として入れたい。

phpでポートフォリオ作成をしています。
DB接続を行う際にsql文を記述しますが、そのなかで変数を使いたい、しかも文字列として、と考えたのですが、ハマってしまったポイントがあったので備忘録として記録。

“`php
try {
$dbh = dbConnect();
$sql = “SELECT comment_contents FROM public_comment WHERE musician_id = ‘${artistData[‘id’]}'”;
$data = array();
$stmt = queryPost($dbh, $sql, $data);
$reviewData = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
echo $e->getMessage();
}
“`

`$artistData[‘id’]`という変数をsql文中で使う際、当該箇所の右辺全体が文字列である必要があるということから、
`$sql = “SELECT comm

元記事を表示

php の予約語のキーワードは何の名前になら使えるのか

PHP 7 系で `new` や `for` などの予約語がメソッド名などに使えるようになっているのは知っていたけど、イマイチその対象と範囲が理解できていなかったので手を動かして確認してみた。

“`
Query::new()->for(‘foo’)->as(‘hoge’)->if(42)->and(‘bar’)->or(‘baz’)->list()->echo();
“`

みたいなやつ。

https://www.php.net/manual/ja/reserved.keywords.php

https://wiki.php.net/rfc/context_sensitive_lexer

https://github.com/php/php-src/pull/1221/

結論としては、マニュアルに書いてあるとおりで、「これらのキーワードを プロパティや定数の名前として使える」(クラスやインタフェースやトレイトや関数の名前には使えない)という理解で間違いなさそう。

だだし、明記されているとおり **class** はメソッドやプロパティの名前には使えない。

**defa

元記事を表示

PHPのよく使う書き方・文法集(基礎編)

# 背景
PHPを使うための必須基礎知識をまとめてみました。

## よく使う文法
・PHPの書き方のルール
~の中に記述する。

“`php5


“`

・コメントアウト
//を最初につける。

“`php5

// コメントアウト
“`

・出力の仕方
echo “文字列”or 値;

“`php
echo “name”;
“`

・変数の定義の仕方
$変数名=値;

“`php
$name=”tanaka”;
“`

・文字列等の連結
“文字列”.”文字列”のようにドット(.)で連結する。

“`php
“tanaka”.”様”
“`

・変数展開
文字列の中に変数を使用したいときに、”{$変数名}”と書く。

“`php
“${name}です”
“`

・if文
条件分岐をしたい時

“`php

if (条件式){
処理;
}
else{
処理;
}
“`

・switch文
ループ文の実装がしたい時

“`php
switch(変数名){
case 値:
処理;
br

元記事を表示

【PHP】PHP入門

#####java、python、javascript、Kotlin、Goに続きPHPを勉強しました。
#【PHP】PHP入門
#####「順次進行」「条件分岐」「繰り返し」

##実行
“`php:Hello.php



“`
“`:出力
Good morning
Good evening
Good Hello
““

##変数
“`php:Variable.php

元記事を表示

ubuntuにlaravelで必要なPHPモジュールをインストールするコマンド

sudo apt install php libapache2-mod-php php-mbstring php-gd php-xml php-zip

元記事を表示

PHP7.4 php.ini-development と php.ini-production の違い

PHP をインストールすると `php.ini-development` と `php.ini-production` の2つのファイルが用意されていますが、どのような違いがあるのか分からなかったので diff を取ってみました。

## 環境

– PHP 7.4.5

## diff する

“`shell-session
$ docker run php:7.4.5-cli diff -u /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini-production > diff.txt
“`

## diff 結果

“`diff
— /usr/local/etc/php/php.ini-development 2020-04-17 11:30:36.000000000 +0000
+++ /usr/local/etc/php/php.ini-production 2020-04-17 11:30:36.000000000 +0000
@@ -83,7 +83,7 @@
; developm

元記事を表示

Laravel 開発を楽しくするパッケージ&ツール

Laravel開発をより楽しくするパッケージやツールをご紹介します。
今回改めて調べて発見したパッケージもあるので使ってないものもありますがご容赦ください?‍♂️

## 情報元

– https://twitter.com/laravelphp
– https://twitter.com/laravelnews
– https://laravel-news.com
– https://github.com/chiraggude/awesome-laravel
– https://github.com/TimothyDJones/awesome-laravel

## 標準

Laravel標準で組み込まれているパッケージをご紹介します。

### briannesbitt/Carbon

https://github.com/briannesbitt/carbon

Laravel標準で組み込まれているPHPのDateTime拡張パッケージです。
日付の操作をより便利に、簡単にできます。

使い方は公式サイトに詳しく載っています。
https://carbon.nesbot.com

元記事を表示

【EC-CUBE】ペイジェント決済導入【4系】

**経緯**

EC-CUBE4系にてペイジェントの導入案件の対応。
案件途中で公式からプラグインが出たので、プラグインを使ってみました。
[ペイジェント決済プラグイン(4.0系) プラグインリンク](https://www.ec-cube.net/products/detail.php?product_id=1989)

#手順
管理画面 > オーナーズストア > プラグイン一覧 から他のプラグイン同様、インストールしてください。
一覧画面から有効化後、一覧画面から設定に移動し、契約時に取得した情報を設定します。
(設定しないと使えない)

#導入後
ペイジェントのプラグインでは、リンク型に対応します。
通常のEC-CUBEにおけるショッピングフローの確認画面にて、「完了ボタン」が「次へ」ボタンに変更され、
次へボタンを押すとペイジェントのサイトに飛びます。

決済後、サイトトップページに遷移します。

#注意点
##完了画面はshopping/completeにしたい
デフォルトでは決済後、サイトトップページに遷移しますが、プラグイン内のコードを修正することで遷移先を変更できます

元記事を表示

WordPress cssファイルを更新する際の備忘録

# はじめに
WordPressの使い方に慣れていないため、
本番環境にアップロードした内容の編集方法を備忘録として残しました。
この記事では`cssファイル`の編集について記述します。
またphpファイルでも同様の方法で編集できます。

`記事の更新`については以下のとおり
[WordPress記事を更新する際の備忘録](https://qiita.com/kazuhj/items/583a3ef83967638a99b2)

## 開発環境
### テスト環境
・Local by Flywheel
### 本番環境使用サーバー
・Xサーバー

## 手順一覧
手順は簡単で本番環境のファイルを編集→保存するだけです。念の為、編集したいファイルをドラック&ドロップでコピー(バックアップファイル)を作成しておきます。

### 1.FileZillaを起動
・FileZillaを起動して編集したいcssファイルのバックアップをとる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/52662

元記事を表示

css,bootstrap,phpの勉強

cssの記述