Backend
A hub for the domain that collects notes on server-side development, including API design, authentication, and databases. It covers business logic design, data persistence, and building APIs.
A hub for the domain that collects notes on server-side development, including API design, authentication, and databases. It covers business logic design, data persistence, and building APIs.
An introduction to API backend development for those new to Laravel. It covers routing, controllers, FormRequest, API Resource, Eloquent ORM, the DI container, Sanctum authentication, and the PHP 8.x syntax used in this book (readonly / enum / constructor promotion).
HTTP のリクエストとレスポンスの構造を押さえたうえで、9 つの標準メソッドと安全性・冪等性の区別、ステータスコードの分類を解説します。メソッドがリクエストラインにだけ現れること、UPDATE や REMOVE が標準に無いことを扱います。
Laravel を API バックエンドとして使うための全 22 章のガイド。ルーティング・Eloquent・バリデーションの基礎から、認証認可 (Sanctum / Policy)・キャッシュ・キュー・タスクスケジューラ・ファイルストレージ・本番運用までを、EC サイトの注文システムを題材に順を追って解説します。Blade などのフロントエンド機能は扱いません。
Laravel API 開発ガイドの第15章。サービスクラスに処理が足され続ける問題をイベントとリスナーで解きます。リスナーの自動検出、Notification クラスと Mailable、同期送信のコストの測り方、Notification::fake によるテストと Mail::fake との使い分けも扱います。
処理の結果を正常系・準正常系・異常系の 3 つに分類し、それぞれに適した扱い方を解説します。想定内の失敗と想定外の失敗を分ける基準、例外と戻り値の使い分け、どの層で捕まえるか、ユーザーとログに何を伝えるかを扱います。
Laravel API 開発ガイドの第9章。エラーレスポンスの形を決め、カスタム例外クラスを作り、bootstrap/app.php の withExceptions を唯一の変換地点にします。何をログに送るか、何をクライアントに見せないかも扱います。
Laravel API 開発ガイドの第18章。何をキャッシュしてよいかの判断、Cache::remember とドライバ選択、キー設計、TTL と明示的な失効、スタンピード対策 (Cache::flexible / Cache::lock)、Laravel 13 の Cache::touch、キャッシュを使うテストの書き方を扱います。
Laravel API 開発ガイドの第16章。リスナーに ShouldQueue を付けて非同期にし、queue:work でワーカーを動かします。Job クラスと dispatch、ドライバの選び方、SerializesModels、トランザクション内で dispatch しないための afterCommit、Queue::route、Queue::fake によるテストも扱います。
Laravel API 開発ガイドの第17章。ジョブが 2 回実行される前提での冪等な書き方、Tries と Backoff によるリトライ設計、failed_jobs と queue:retry、ShouldBeUnique と WithoutOverlapping、Supervisor によるワーカーの常駐と queue:restart を扱います。
Laravel API 開発ガイドの第20章。routes/console.php でのスケジュール定義、cron エントリを 1 行に保つ意味、期限切れトークンと負の在庫と孤児ファイルの掃除、未決済注文の自動キャンセルと「未決済」の判定、withoutOverlapping と onOneServer、travelTo による時刻固定テストと配線テストを扱います。
Laravel API 開発ガイドの第10章。Pest の書き方を導入し、ここまでに作った API に Feature テストを書きます。正常系だけでなく失敗パスを固定する理由、テストデータの用意、そして以降の章で守るテストの型を決めます。
Laravel API 開発ガイドの第14章。DB::transaction による原子性、lockForUpdate による行ロック、条件付き UPDATE、デッドロックの再試行を扱います。Idempotency-Key と一意制約による二重注文の防止も扱います。
Laravel API 開発ガイドの第1章。チュートリアルどおりに書いた注文 API が本番で壊れる 3 つの場面を示し、この連載が扱う範囲と題材、既存ガイドとの読み分けを整理します。
Laravel API 開発ガイドの第6章。前章で作った注文作成 API のコントローラを診断し、サービスクラスへ切り出します。Eloquent モデルに書くものと書かないものの判断基準、サービスコンテナによる依存の自動解決、インターフェースの結び付けまでを扱います。
Laravel API 開発ガイドの第19章。ディスクという抽象と local / public の使い分け、アップロードの検証と保存、Sanctum の ability による保護、非公開ファイルの配信と署名付き URL、ジョブでの PDF 生成、ファイルとレコードの整合、Storage::fake によるテストを扱います。
Laravel API 開発ガイドの最終章。21 章分で決めたことを、本番へ出す前に確認する 1 枚のリストにまとめます。設定・データベース・入出力・認可・非同期処理・ログ・デプロイの分野別チェックリストと、どの章で何を決めたかの索引を置きます。
Laravel API 開発ガイドの第13章。決済 Webhook の署名検証を題材にミドルウェアを自作し、bootstrap/app.php へ登録します。RateLimiter による流量制御、多段の制限、429 レスポンス、CORS も扱います。
Laravel API 開発ガイドの第2章。1 つのリクエストが public/index.php からコントローラまで届く経路を追い、bootstrap/app.php・サービスコンテナ・サービスプロバイダ・設定ファイルがその経路のどこに刺さるかを整理します。
失敗を確定・不確定・過負荷の 3 つに分類し、再送してよい条件を冪等性から導きます。指数バックオフにジッタが要る理由、上限を試行回数と総経過時間の 2 つで決める理由、冪等キーが何を保証するかを扱います。
Laravel API 開発ガイドの第4章。install:api で API 用の骨格を作り、apiResource でルートをまとめ、ルートモデルバインディングで ID をモデルに変換します。URL 設計・バージョニング・ステータスコードの決め方も扱います。
Laravel API 開発ガイドの第21章。config/logging.php のチャンネルと stack、Context によるリクエスト ID の伝播、想定内と想定外のログの振り分け、404 と 429 の記録、Monolog プロセッサによる機密情報のマスク、構造化ログ、デプロイ手順の順序、スケジューラの死活監視を扱います。
Laravel API 開発ガイドの第8章。商品一覧 API を題材に、ページネーション 3 種の使い分け、フィルタとソートを安全に受け取る方法、N+1 問題の観測と eager loading による解決、そして機械的に検出する仕組みを扱います。
Laravel API 開発ガイドの第5章。注文作成 API を題材に、コントローラ直書きのバリデーションを Form Request へ移します。配列とネストしたデータの検証、検証前後の処理、日本語メッセージ、そして形式チェックとビジネスルールの境界線を扱います。
Laravel API 開発ガイドの第7章。モデルをそのまま返す危うさを示し、API Resource でレスポンスの形をコードとして固定します。リレーションの含め方、条件付きの項目、日付・金額・enum の表現、data ラッピングを扱います。
Laravel API 開発ガイドの第12章。注文の一覧と詳細を作りながら、Policy によるモデル単位の認可を実装します。一覧 API では Policy が効かない理由、403 と 404 の使い分け、認可漏れをテストで検出する方法を扱います。
Laravel API 開発ガイドの第11章。Sanctum で会員登録・ログイン・ログアウトを作り、ルートをトークン認証で保護します。ゲスト注文を会員注文へ移す手順、トークンの権限と有効期限、テストでの認証済み状態の作り方まで扱います。
Laravel API 開発ガイドの第3章。商品・在庫・注文・注文明細のテーブルをマイグレーションで作り、Eloquent モデルと enum を対応させ、ファクトリとシーダーで開発用データを用意します。金額の型と mass assignment の扱いもここで決めます。