-
ミドルウェアをルートに直接適用する方法: ルート定義でミドルウェアを適用する際に、パラメータを渡すことができます。例えば、以下のように書きます:
Route::get('/example', function () { // パラメータを渡してミドルウェアを適用 })->middleware('customMiddleware:param1,param2');
ミドルウェアのコンストラクタで渡されたパラメータは、ミドルウェアの
handle
メソッド内で使用することができます。 -
ミドルウェアをグローバルミドルウェアとして登録する方法:
App\Http\Kernel
クラスの$middleware
プロパティにミドルウェアを追加することで、グローバルミドルウェアとして登録することができます。例えば、以下のように書きます:protected $middleware = [ // ... \App\Http\Middleware\CustomMiddleware::class . ':param1,param2', ];
ミドルウェアのコンストラクタで渡されたパラメータは、ミドルウェアの
handle
メソッド内で使用することができます。 -
ミドルウェアグループを定義する方法:
App\Http\Kernel
クラスの$middlewareGroups
プロパティを使用して、ミドルウェアグループを定義し、パラメータを渡すことができます。例えば、以下のように書きます:protected $middlewareGroups = [ 'web' => [ // ... \App\Http\Middleware\CustomMiddleware::class . ':param1,param2', ], ];
ミドルウェアグループを使用する場合、ルート定義で
middleware
メソッドを呼び出す代わりに、middlewareGroup
メソッドを使用します:Route::middlewareGroup('web', function () { // ... });
ミドルウェアのコンストラクタで渡されたパラメータは、ミドルウェアの
handle
メソッド内で使用することができます。
これらの方法を使用することで、Laravel 8のミドルウェアにパラメータを渡すことができます。適切な方法を選択し、アプリケーションの要件に応じてミドルウェアを設定してください。