突然VScodeでPHPファイルの補完機能が使えなくなったときにしたこと
VSCodeを使っていて、突然PHPファイルの補完機能が使えなくなったことがあります。
プロジェクト内のjs, tsファイルは問題なかったことから、おそらくPHP特有の問題が発生していると予想しました。
そうな ...
WordPressでログをファイルに出力する
wp-config.php に以下を追加する。
define("WP_DEBUG", true );define("WP_DEBUG_LOG", true );ログを出力したいところ ...
Laravel Event Listener 内でリダイレクトさせたいとき
Laravel の Event Listener 内でリダイレクトさせる場合は、abort を使用します。
abort(redirect('/home'));
PHPのパッケージを選定する際に使うサイト
PHPのパッケージを選定する際には、よくPackagistというサイトを見ます。
ここでキーワードで検索し、Star数やダウンロード数を比較できるので便利です。
PHP8.0以降は switch の代わりに match を使う
PHP の switch は緩い比較を行うので、以下のコードを実行すると、0 ではなく false が出力されます。
<?phpfunction myFunc(){ $value = 0; switch ($value) ...
PHP __call() について
PHPのコードを追っているときに、継承元のクラスまでたどったのに、呼び出されたメソッドが見つからない場合があります。
そのような場合は大抵マジックメソッドの __call() が定義されています。
__call ...
PHP Prophecy でテスト対象のメソッド内で、同じメソッドが複数回呼ばれている場合の書き方
Prophecy を使ってテストを書く時に、テスト対象のメソッド内で同一メソッドが複数回呼ばれるが、引数がそれぞれ違う場合の書き方です。
例えばテスト対象のメソッドが以下のような場合
public sayHoge($ ...
PHPの小数点の罠
PHPで小数点にかかる計算をするときの注意点です。
以下は普通に考えると0.8になります。
var_dump(floor((0.1+0.7)*10));しかし、結果は float(7) になります。
PHP 定数はグローバルかクラス内しかない
PHP の定数は、以下の二種類だけです。
グローバル定数クラス定数
マニュアル
関数内とかメソッド内のようなローカル定数が定義できると嬉しいのですが、そういうのはないのですかね。
PHPで分割代入するときに特定の要素をスキップしたい
PHPで配列を分割代入するときに、X番目は必要ないのでスキップしたい場合があります。
その場合は、以下のようにカンマだけ指定します。
= ;print_r($a);//1print_r($c);//3