Laravel API をプロダクション対応にするもの
Laravel チュートリアルでは、CRUD API を 30 分で構築する方法を示します。本番環境の Laravel API は別の動物です。認証と認可を正しく処理し、すべての層で入力を検証し、一貫したエラー応答を返し、完全にテストされ、負荷がかかっても良好に動作します。チュートリアルから本番環境に移行するには、意図的なアーキテクチャ上の決定が必要です。
Trilab.Tech で適用する最も影響力のあるプラクティスは、すべての入力検証にフォーム リクエストを使用する (コントローラーで検証しない)、出力形状を制御する API リソースとリソース コレクションを作成する (Eloquent モデルを直接返さない)、すべての認可ロジックにポリシー クラスを使用する、Pest PHP を使用してすべてのエンドポイントの機能テストを作成する、N+1 をキャッチするための開発中の Laravel Telescope または Debugbar の設定です。
インフラストラクチャ側では、本番の Laravel API には、バックグラウンド ジョブ用のキュー ワーカー (Web リクエストをブロックする可能性のある同期操作は決して実行しないでください)、キャッシュとセッション用の Redis、およびパブリック エンドポイントでの適切なレート制限が必要です。これらはオプションの追加機能ではなく、デモで動作するシステムと実際の負荷で動作するシステムを分けるベースラインです。 Trilab.Tech のチームは初日からこの方法で Laravel API を構築しているため、クライアントはリリース時に「ステージングでは機能した」という問題に直面することはありません。
