【PHP】trait(トレイト)の使い方|コードの再利用と多重継承の代替パターン
複数の Eloquent モデルに同じローカルスコープやミューテータをコピペしていませんか。筆者も、共通条件を複数モデルへそのまま写したあと、片方だけ修正漏れがあり、本番では期待と異なる挙動になった経験があります。チーム開発でも同様の ...
【PHP】例外処理(try-catch-finally)の使い方|カスタム例外クラスの作り方も解説
PHP でプログラムを書いていると、ファイル読み込みや外部 API 呼び出しなど「失敗する可能性のある処理」を扱う場面が必ずあります。こうした処理を安全に扱うための仕組みが例外(Exception)であり、try・catch・fina ...
【PHP】配列操作の完全ガイド|array_map・array_filter・array_reduce・usortの使い分け
PHPには配列を操作するための関数が豊富に用意されていますが、「どれをどう使い分ければいいのか」迷ったことはありませんか。
array_map と array_filter の違い、array_reduce の使い ...
【PHP】文字列の末尾・最後のN文字を取得する方法|substr・mb_substr・文字列オフセット完全解説
PHPで文字列の最後の1文字や末尾のN文字を取得したいとき、substr($str, -1) が最も手軽な方法ですが、日本語などのマルチバイト文字が含まれる場合は注意が必要です。
「substr と mb_substr の ...
【PHP】ディレクトリを再帰的にコピーする方法|copy()・RecursiveDirectoryIterator・Laravelの使い分け
PHPには copy() 関数がありますが、ディレクトリをまるごとコピーする関数は標準では存在しません。
「サブディレクトリも含めて全部コピーしたい」
「Laravelを使っているなら楽な方法はある?」 ...
[PHP] Carbonで日付を比較する方法 | gt / lt / gte / lte / isSameDay / diffInDays 全メソッド解説
PHPで日付を比較する場面は多くあります。例えば、予約システムで「今日が締め切り日を過ぎているか判定する」、または「特定の期間内にイベントがあるか確認する」などです。
日付を比較する方法として、strtotime() や ...
PHPで文字列を数値に変換する方法|intval・(int)キャスト・型ジャグリングの違いを解説
PHPで文字列を数値に変換するとき、intval() と (int) のどちらを使えばいいか、迷ったことはありませんか?
「どれを使っても同じじゃないの?」
「型ジャグリングって何が危険なの?」
「APIの ...