PHP/Elixirエンジニアのブログ

有益なアウトプットを心がけます。

【Laravel】ミドルウェアってなに?

MVCアーキテクチャ

モデル・ビュー・コントローラがそれぞれ切り離れています。
プログラムの基本部分はコントローラですが
コントローラはそれぞれのアクションごとに処理を用意していきます。

個別に処理を作れるという点では優れていますが
全てアクセス時に処理なにかを処理しておくことは
手間のかかる作業になります。

ミドルウェアとは

Laravelではコントローラとは別に、
「指定のアドレスにリクエストが送られてきたら、
自動的に何らの処理を行う」
という仕組みを用意したのです。

ミドルウェアはアプリケーションの前にあるレイヤー

ミドルウェアはリクエストがコントローラのアクションに届く前に配置される
レイヤー層となるプログラムです。

特定のアドレスにアクセスがあると
Laravelはルート情報を元に指定のコントローラのアクションを呼び出します。
ミドルウェアはその前に割り込んでアクションが実行される前後に
指定の処理を実行させることができます。

ミドルウェアの設定

ミドルウェアの設定はコントローラでなく、
ルート情報を記述する際に指定できます。