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

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

【Laravel】ミドルウェアの登録

ミドルウェア登録

自身が新たに設定したミドルウェアの利用するには
「app/Http/kerner.php」(HTTPカーネル)で登録が必要になります。

グローバルミドルウェア

あるミドルウェアをアプリケーションの
全HTTPリクエストで実行したい場合は、
app/Http/Kernel.phpクラスの
$middlewareプロパティへ追加します。

 protected $middleware = [
      \App\Http\Middleware\TrustProxies::class,
      \App\Http\Middleware\CheckForMaintenanceMode::class,
     ・・・・・・・・・・略・・・・・・・・・・・・
     下部に追記
];

ミドルウェアをルートへ登録

特定のルートのみに対しミドルウェアを指定したい場合は、
先ずapp/Http/Kernel.phpファイルでミドルウェアの短縮キーを登録します。
$routeMiddlewareプロパティへ追加します。

    protected $routeMiddleware = [
          'auth' => \App\Http\Middleware\Authenticate::class,
          'auth.basic' => \Illuminate\Auth\Middleware\Authenti....
           ・・・・・・・・・・略・・・・・・・・・・・・
           下部に追記
    ];

app/Http/Kernel.phpファイルで定義し終えたら
ルートに対しミドルウェアを指定する、
middlewareメソッドを使ってください。

Route::get(アドレス, 関数など)
->middleware('利用するミドルウェアクラス');

ミドルウェアグループ

複数のミドルウェアを一つのキーによりまとめ、
ルートへ指定できるようします。
$middlewareGroupsプロパティへ追加します。

protected $middlewareGroups = [
    'web' => [
   ・・・・・・・・・・ミドルウェアクラス・・・・・・・・・・・・
     ],

   'api' => [
          ・・・・・・・・・・ミドルウェアクラス・・・・・・・・・・・・
    ],

 下部に追記

 ];

app/Http/Kernel.phpファイルで定義し終えたら
ルートに対しミドルウェアを指定する、
middlewareメソッドを使ってください。

Route::get(アドレス, 関数など)
->middleware('利用するグループ名');