Laravel 中间件:中间件组 Draft
在 Laravel 中,支持把多个中间件打包成一组,方便将它们批量应用到路由中去。
打包多个中间件为一组
要将多个中间件打包为一组,只需在 app\Http\Kernel.php 文件的$middlewareGroups 属性中使用一个键把多个中间件组合在一起即可,下面是$middlewareGroups 属性的默认定义:
    /**
     * The application's route middleware groups.
     *
     * @var array
     */
    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];
可以看到,Laravel 内置了开箱即用的 web 和 api 中间件组,其中包含你可能希望应用于 Web 页面和 API 路由的常用中间件。
中间件组定义好后,可以采用与单个中间件相同的语法分配给路由和控制器操作。中间件组使得一次将多个中间件分配给一个路由组也变得更加方便:
Route::get('/', function () {
    //
})->middleware('web');
Route::group(['middleware' => ['web']], function () {
    //
});
          
 Laravel 社区 Wiki
    
            
            
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: