Skip to main content

Laravel API 開発ガイド

このガイドについて

Laravel を API バックエンドとして使うための全 22 章のガイドです。Blade やフロントエンド機能は扱わず、JSON を返す API に必要な機能だけを扱います。

このガイドが目指すのは「動くコード」ではなく「本番で運用できるコード」です。チュートリアルどおりに書けば動くが本番で壊れる、という箇所を各章で明示します。たとえば注文 API は、同時に 2 つのリクエストが来ると在庫を二重に引き当てます。一覧 API は Policy を書いても他人のデータを返します。こうした落とし穴を、遭遇する順番で拾っていきます。

このガイドの特徴
  • API 専用: Blade / Livewire / Inertia を一切使いません。全章が JSON を返す API の話です
  • 一貫した題材: EC サイトの注文システムを 22 章かけて育てます。各章が前章の続きから始まります
  • 本番で効く注意点: 各章に専用の節を置き、その機能を本番で使うときに何が壊れるかを書きます
  • モダンな前提: Laravel 13 (2026 年 3 月リリース) と PHP 8.3 を対象とします

ガイドの構造

章立て

執筆中のガイドです

現在このガイドは執筆中です。公開済みの章はリンクになっています。

土台をつくる (第1-4章)

#概要
01はじめに動くコードと運用できるコードの差。題材と完成形のエンドポイント一覧
02リクエストライフサイクル1 リクエストが通る道。bootstrap/app.php とサービスコンテナ
03モデリングとデータ整備テーブル設計・マイグレーション・enum キャスト・ファクトリとシーダー
04ルーティングと最初のエンドポイントapiResource()・ルートモデルバインディング・バージョニング

リクエストからレスポンスまで (第5-10章)

#概要
05入力の検証Form Request で形式チェックの境界を固める
06ビジネスロジックの置き場所Fat Controller の解体。サービスクラスとサービスコンテナ
07出力の設計API Resource でレスポンスの形を明示的に決める
08一覧 APIページネーション・フィルタ・N+1 の検出
09エラー設計例外を HTTP レスポンスに翻訳する
10テストPest で API の振る舞いを固定する

API を守る (第11-13章)

#概要
11認証Sanctum のトークン認証。ゲスト注文を会員注文へ移す
12認可Gate と Policy。一覧 API で Policy が効かない理由
13ミドルウェアとレート制限自作ミドルウェア・Webhook の署名検証・RateLimiter

重い処理を安全にさばく (第14-18章)

#概要
14トランザクションと同時実行制御在庫の二重引き当てを行ロックと条件付き更新で塞ぐ。再送は一意制約で止める
15イベントと通知Notification と Mailable。同期送信のコストを測る
16キューの基礎Job クラス・dispatchqueue:work
17キューの本番運用冪等性・リトライ・failed_jobs・ワーカーの再起動
18キャッシュキー設計・スタンピード対策・無効化戦略

周辺機能と運用 (第19-22章)

#概要
19ファイルストレージアップロード・署名付き URL・ジョブでの PDF 生成
20タスクスケジューラ定期処理を cron 1 行に集約する
21ログ・監視とデプロイ構造化ログ・機密情報の扱い・デプロイ手順
22まとめ本番リリース前チェックリスト

対象読者

  • PHP の基本文法を一通り書けて、Laravel でこれから API を作る人
  • Laravel のチュートリアルは終えたが、本番で何に気をつければよいか分からない人
  • フロントエンドは別で作るので、Laravel は API として使いたい人

前提知識

必須度知識補足
必須PHP 8 の基本文法 (変数・配列・制御構文・関数)全章
必須クラス・メソッド・コンストラクタ・型宣言・名前空間全章。設計原則そのものは PHPクラス設計ガイド で扱います
必須ターミナルの基本操作と Composer でのインストール第2章以降
推奨SQL の SELECT / INSERT / UPDATE が読める第3章。書けなくてかまいません
推奨HTTP の GET / POST と URL の構造を聞いたことがある第4章
不要Laravel の経験本ガイドで基礎から解説します
不要テストの経験第10章で基礎から解説します

推奨される読み方

  • Laravel が初めて: 第1章から順に読み、各章のコードを実際に動かしながら進める
  • 基礎はあり、運用面を知りたい: 各章の「本番で効く注意点」の節だけを拾い読みし、気になった章を本文から読む
  • 辞書的に使いたい: 上の章立て表から該当する章を直接開く

このガイドで扱わないこと

対象理由
Blade / Livewire / Inertia / ViteAPI として使う前提のため。フロントエンドは別で作ることを想定します
ブロードキャスト (Reverb / Echo)クライアント側が JavaScript 実装になり、フロントエンドを扱わない方針と合いません
Passport / OAuth2公式が「OAuth2 が必要な場合のみ Passport」としています。選定の基準だけ第11章に置きます
JWTLaravel × DDD × クリーンアーキテクチャ実践ガイド が 1 章かけて扱います
DDD 戦術パターン・クリーンアーキテクチャの層実装同上。本ガイドは Laravel の標準構成に留めます
インデックス設計・正規化の理論データベース設計ガイド が扱います
Laravel の AI 機能・ベクトル検索Laravel 13 の新機能ですが、API 開発の基礎から離れます
Docker / サーバー構築 / CI/CD第21章は Laravel 側の設定に限定します

関連ガイド

既存ガイドとの重複について

クラス設計の観点からの Laravel 解説は、現在 PHPクラス設計ガイド の後半にもあります。本ガイドの完成後に、そちらの Laravel 部分は本ガイドへ統合される予定です。