【PHP】Enumの使い方|PHP 8.1の新機能とLaravelでの実践的な活用法
PHP 8.1 で導入された enum(列挙型)は、有限の選択肢を型として表現するための仕組みです。本記事では enum の基本から Laravel でのキャスト・バリデーションまでを整理します。コード例は PHP 8.1 以降、La ...
【Laravel】Middlewareの自作方法|認証・ロギング・APIキー検証の実装パターン
Laravel のルート処理には、認証チェックやログ出力、API キー検証など、多くの HTTP リクエストで共通する処理があります。これらをコントローラやトレイトに散らすと重複が増え、適用順の取り違えも起きやすくなります。ミ ...
【Laravel】Form Requestによるバリデーション設計|authorize・rules・カスタムエラーメッセージ
Laravel のコントローラに $request->validate() を直接書くと、ルールが増えるほどメソッドが長くなります。権限チェックと入力検証も混ざりやすくなります。Form Request は、認可(authori ...
【Laravel】rate limiting(レート制限)の実装方法|RateLimiter・throttleミドルウェア
「ログイン API に 1 分あたり 5 回までの上限を設けたい」「ファイルアップロードだけユーザー ID ごとに上限を変えたい」といった要件は、Web アプリ開発でよく出てきます。同一 IP からの連続アクセスを抑えたい場面 ...
【Laravel】Observerパターンの使い方|Eloquentモデルのライフサイクルイベントを活用する
「ユーザー作成時にプロフィール行も作る」「記事更新のたびにキャッシュを無効化する」といった処理を、コントローラや Service に毎回書くと、同じモデル操作のたびに条件分岐が増えていきます。モデルの save() や del ...
【Laravel】Artisanコマンドの自作方法|make:command・スケジューラ登録・テストまで
定期バッチやメンテナンス処理を、コントローラやルートに直接書いてしまうと、ブラウザ経由の HTTP 経路と php artisan の CLI 経路の責務が混ざりやすくなります。
「毎日深夜に集計レポートを生成した ...
【Laravel】HTTPクライアント(Http Facade)の使い方|外部API呼び出し・モック・リトライ設定
Laravel の Http Facade を使うと、外部 API 呼び出しを短いチェーンで書き、テストでは Http::fake で差し替えられます。本記事では基本操作からリトライ・モックまで整理します。
細かな API ...
【Laravel】マイグレーションの書き方完全ガイド|カラム型一覧・インデックス・外部キー設定
Laravel で機能を追加するとき、「どのカラム型を選ぶべきか」「インデックスはどこで貼るのか」「外部キーは foreignId と constrained だけでよいのか」で迷う場面があります。
マイグレーションは、デ ...
【Laravel】Facadeとは何か|仕組み・使い方・独自Facadeの作成方法
Cache::get() や Log::info() のような書き方を見ると、「Laravel は static メソッドだらけなのか」「テストしづらくならないのか」と不安になることがあります。見た目は static 呼び出しでも、L ...
【Laravel】テストの書き方入門|Feature Test・Unit Test・FactoryとFakerの使い方
動いている画面を少し直しただけのつもりが、ログイン後の導線や保存処理を壊してしまうことがあります。手元でブラウザを開いて確認しても、毎回同じ手順を漏れなく試すのは難しく、修正が増えるほど不安が残りがちです。
Laravel ...