まずは、artisanコマンドでmiddlewareクラスの作成

作成されたmiddlewareクラス内にhandleというメソッドがあり、すべてのリクエストがこのメソッド内の処理でフィルタリングされて次のmiddlewareに引き渡されるようになっている

今回はカテゴリーが作られていなかった場合にトップページにリダイレクトされるように設定

 

作成したカスタムMiddlewareクラスを機能させるためにはKernel.phpにてregisterする必要がある

routemiddlewareの連想配列内にキーとvalueでセット

このキーを使用することでmiddlewareを呼び出すことができる

今回は2通りの方法でmiddlewareを適用させてい見る

 

まずはcontrollerのconstructor内にセット

onlyメソッドの引数にaction名を配列で指定することでmiddlewareの適用範囲を限定できる

 

次にrouteにセットする場合

下記の例では元々デフォルトで入っていたauthミドルウェアと今回作成したmiddlewareを併用

ちなみに一つだけの場合は配列にする必要なし↓

複数のrouteにmiddlewareをまとめて適用させたいときはgroupメソッドにコールバックをセットすることで実装できる

groupingしたほうがコードが整理されてスッキリする