Laravel

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

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

Laravel

【Laravel】Middlewareの自作方法|認証・ロギング・APIキー検証の実装パターン
はじめに

Laravel のルート処理には、認証チェックやログ出力、API キー検証など、多くの HTTP リクエストで共通する処理があります。これらをコントローラやトレイトに散らすと重複が増え、適用順の取り違えも起きやすくなります。ミ ...

Laravel

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

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

Laravel

【Laravel】rate limitingの実装方法|RateLimiterとthrottleミドルウェア
はじめに

「ログイン API に 1 分あたり 5 回までの上限を設けたい」「ファイルアップロードだけユーザー ID ごとに上限を変えたい」といった要件は、Web アプリ開発でよく出てきます。同一 IP からの連続アクセスを抑えたい場面 ...

Laravel

【Laravel】Observerパターンの使い方|Eloquentモデルのライフサイクルイベントを活用する
はじめに

「ユーザー作成時にプロフィール行も作る」「記事更新のたびにキャッシュを無効化する」といった処理を、コントローラや Service に毎回書くと、同じモデル操作のたびに条件分岐が増えていきます。モデルの save() や del ...

Laravel

【Laravel】Artisanコマンドの自作方法|make:command・スケジューラ登録・テストまで
はじめに

定期バッチやメンテナンス処理を、コントローラやルートに直接書いてしまうと、ブラウザ経由の HTTP 経路と php artisan の CLI 経路の責務が混ざりやすくなります。

「毎日深夜に集計レポートを生成した ...

Laravel

【Laravel】HTTPクライアント(Http Facade)の使い方|外部API呼び出し・モック・リトライ設定

Laravel の Http Facade を使うと、外部 API 呼び出しを短いチェーンで書き、テストでは Http::fake で差し替えられます。本記事では基本操作からリトライ・モックまで整理します。

細かな API ...

Laravel

マイグレーションの書き方完全ガイド

Laravel で機能を追加するとき、「どのカラム型を選ぶべきか」「インデックスはどこで貼るのか」「外部キーは foreignId と constrained だけでよいのか」で迷う場面があります。

マイグレーションは、デ ...

Laravel

Facadeとは何か

Cache::get() や Log::info() のような書き方を見ると、「Laravel は static メソッドだらけなのか」「テストしづらくならないのか」と不安になることがあります。見た目は static 呼び出しでも、L ...

Laravel

テストの書き方入門

動いている画面を少し直しただけのつもりが、ログイン後の導線や保存処理を壊してしまうことがあります。手元でブラウザを開いて確認しても、毎回同じ手順を漏れなく試すのは難しく、修正が増えるほど不安が残りがちです。

Laravel ...