PHP

Apache は DocumentRoot に php.ini があればそれを優先する

普段は Docker の公式 PHP イメージ上で開発しているんですけど、 $PHP_INI_DIR/php.ini に設定を記述しても反映されず、いろいろ試した結果 Apache は DocumentRoot に php.ini があればそれを優先する という仕様がありました。 Docker の公式 PHP イメー…

結局、PHP でディレクトリ内のすべてのファイルを操作するにはどうしたらいいのか

PHP

PHP でディレクトリ内を全走査してファイルを操作(高度なギャグ)するときの方法を調べました。 たまにしかやらないから全然身につかないです。 今回は下記のようなファイル構造で target 以下のファイルを操作する場合を考えます。 ~/file_test » tree ./ …

VS Code で phpcs と phpcbf を利用するときは PHP Sniffer & Beautifier を使うのが最高

PHP のフォーマットは squizlabs/PHP_CodeSniffer を使うのがスタンダードだと思います。 PHP Sniffer & Beautifier は プロジェクト固有のルールで phpcs と phpcbf を実行できる 拡張機能です。 インストール composer で PHP_CodeSniffer をプロジェクト…

【PHP】多次元配列の存在チェックにおける isset と Null 合体演算子とエルビス演算子について

PHP

多次元配列でキーが存在しているかのチェックを頭から行うのが長いなと思って調べてたら、isset は一発で存在チェックしてくれると知りました。 ['b' => 1]]; // isset var_dump(isset($arr['a'])); // bool(true) var_dump(isset($arr['a']['b'])); // boo…

PHP の json_encode で変換後の文字列を僕が読みやすいようにする

PHP

マニュアルにある 定義済み定数 をオプションに指定して json_encode で変換した後の文字列を読みやすいようにします。 変換するのはこのデータ。 's4_ba', 'web' => 'http://s4-ba.hatenablog.jp/', 'language' => '日本語', 'skill' => [ 'languages' => …

CakePHP3 を Microsoft Web Platform Installer でインストールした IIS で起動するまでの設定

今 PHP の環境は Microsoft Web Platform Installer でインストールしたものなので、その上で CakePHP3 の Welcome ページを表示するまでにしたことを書きます。 IIS 10.0 PHP 7.1.7 For IIS Express CakePHP 3.5.6 Microsoft Web Platform Installer 5.0 Ca…

CakePHP2 で Component と Helper の連携

何がやりたいのかっていうと、Paginator みたいなのを自作したいです。 CakePHP 2.7.5 Component が呼ばれたら Helper も自動で呼ぶ Paginator は Controller 内で public $components = array('Paginator'); で呼び出すと、Helper も自動で使えるようになる…