Laravel 8 中間件組

2021-07-16 17:58 更新

有時,您可能希望將多個中間件歸為一個鍵,以使其更易于分配給路由。 您可以使用 HTTP 內(nèi)核的 $middlewareGroups 屬性來實現(xiàn)。

Laravel 開箱即用,帶有 webapi 中間件組,其中包含您可能要應用于 Web UI 和 API 路由的通用中間件:

/**
 * 路由中間件組
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],

    'api' => [
        'throttle:api',
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],
];

中間件組可以使用與單個中間件相同的語法將自身分配給路由和控制器動作。同樣,中間件組使得一次將多個中間件分配給一個路由更加方便:

Route::get('/', function () {
    //
})->middleware('web');

Route::group(['middleware' => ['web']], function () {
    //
});

Route::middleware(['web', 'subscribed'])->group(function () {
    //
}); 

技巧:RouteServiceProvider 默認將 web 中間件組自動應用到 routes/web.php

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號