PHP

【PHP】型宣言とNull許容型の書き方|strict_typesと実務での落とし穴

PHP の関数やメソッドに型を付けると、想定外の値を実行時に検出しやすくなります。一方でデフォルトではスカラー型が暗黙変換され、declare(strict_types=1) の有無で同じ呼び出しでも結果が変わります。本記事では型宣言 ...

Laravel

【PHP】Enumの使い方|PHP 8.1の新機能とLaravelでの実践的な活用法

PHP 8.1 で導入された enum(列挙型)は、有限の選択肢を型として表現するための仕組みです。本記事では enum の基本から Laravel でのキャスト・バリデーションまでを整理します。コード例は PHP 8.1 以降、La ...

Laravel

【Laravel】Form Requestによるバリデーション設計|authorize・rules・カスタムエラーメッセージ

Laravel のコントローラに $request->validate() を直接書くと、ルールが増えるほどメソッドが長くなります。権限チェックと入力検証も混ざりやすくなります。Form Request は、認可(authori ...

PHP

【PHP】match式とswitch文の違いと使い分け|PHP 8.0の新機能を実務で解説

PHP 8.0 で導入された match 式は、値の一致に応じて結果を返す構文です。本記事では match 式と従来の switch 文の違い、実務での使い分け、注意点を整理します。コード例は PHP 8.0 以降を前提とします。詳細 ...

PHP

【PHP】Fiberの使い方|非同期処理・コルーチンの基本を実例で理解する

PHP 8.1 で導入された Fiber(ファイバー)は、非同期処理の話題でよく名前が挙がります。本記事では Fiber の基本 API、Generator との違い、複数 Fiber を束ねる最小のスケジューラ例、そしてはまりどころ ...

PHP

例外処理(try-catch-finally)の使い方

PHP でプログラムを書いていると、ファイル読み込みや外部 API 呼び出しなど「失敗する可能性のある処理」を扱う場面が必ずあります。こうした処理を安全に扱うための仕組みが例外(Exception)であり、try・catch・fina ...

Laravel

.envファイルの設定と管理のベストプラクティス
はじめに

Laravelを使い始めると、.env ファイルと config() 関数の使い分けに迷うことがあります。

「どこで env() を使って、どこで config() を使えばいいのか」「config:cache を ...

Laravel

N+1問題の検出と解消方法
はじめに

Laravelでアプリケーションを開発していると、気づかないうちに大量のSQLが発行されてパフォーマンスが劣化することがあります。その原因の多くが N+1問題 です。

ページの表示が遅い、DBへの負荷が高い、といっ ...

PHP

PHP配列関数まとめ
はじめに

PHPには配列を操作するための関数が豊富に用意されていますが、「どれをどう使い分ければいいのか」迷ったことはありませんか。

array_map と array_filter の違い、array_reduce の使い ...

Laravel

バリデーションのカスタムルールを作成する方法
はじめに

Laravelの標準バリデーションルールは非常に充実していますが、業務ロジックに踏み込んだ検証は自前で実装する必要があります。

たとえば「特定のステータスのときだけ必須になる項目」「DBを参照して重複チェックをカス ...