打开我们的文件app\Http\Kernel.php
在上图我们可以看到四组中间件的定义,那么下来就解释一下,这四组中间件的使用
分别是全局中间件、中间件组、指定路由中间件和中间件排序
全局中间件
在全局中间件里边定义的中间件是会在所有的请求中执行的,在一般项目中的中间件是不会放置在这里边的
分配中间件到指定路由
路由中间件的使用就是,给自定义的中间件也添加到后边,然后写一个别名
使用方式:Route::get()->middleware('路由中间件的别名');即可
中间件组
中间件组使用和分配单个中间件同样的语法被分配给路由和控制器动作。再次申明,中间件组的目的只是让一次分配给路由多个中间件的实现更加方便:
使用方式:Route::get()->middleware('web');即可
中间件排序
在某些特殊场景下,你可能需要中间件按照特定顺序执行,但是一旦中间件已经分配到指定路由就没法控制它们的执行顺序了。在这种情况下,你可以在 app/Http/Kernel.php 文件中通过 $middlewarePriority 属性来指定中间件的优先级:
也就是说谁在前面就执行谁