IT-Q

ミドルウェアはいつ実行されますか。

コントローラに到達する前です。$next($request) の前に書けば前処理、後に書けば後処理になります。登録順に入れ子で積まれますが、認証など標準のものは優先順位で並べ替えられます。

面接官が見ているのはリクエストの流れを理解しているか。

よくある答えと、面談でどう見られるか

  • コントローラに到達する前(および必要ならレスポンス生成後)
    その通りです。認証やログのような横断的な処理をここに置きます。
  • ビューがレンダリングされたあとだけ
    後処理も書けますが、主な役割は到達前の処理です。
  • アプリケーションの起動時に一度だけ
    それは ServiceProvider の boot に近い話です。ミドルウェアはリクエストごとです。
  • DB にアクセスする直前
    DB とは無関係で、HTTP リクエストの層で動きます。

模範解答

コントローラに到達する前に実行されます。$next($request) を呼ぶ前に書けば前処理、呼んだ後に書けば後処理になります。

認証、権限チェック、ログ記録、言語切り替えなど、複数のコントローラに共通する処理をここに寄せます。複数のミドルウェアは登録順に入れ子で積まれるので、順序が意味を持ちます。ただし認証や認可など標準のミドルウェアは、決められた優先順位に従って並べ替えられます。

対象: Laravel 12.x(13.x の変更点も確認) 照合した一次資料: 公式ドキュメント 照合: 2026-08-11 最終更新: 2026-10-25
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。