laravel 中間件分為五種類(lèi)型:全局、路由、組、終止和自定。全局中間件適用于所有請(qǐng)求,路由中間件僅適用于特定路由,組中間件應(yīng)用于一組路由,終止中間件在所有其他中間件和處理程序執(zhí)行后執(zhí)行,自定中間件由開(kāi)發(fā)者創(chuàng)建并擴(kuò)展 basemiddleware 類(lèi)。
Laravel 中間件的類(lèi)型
Laravel 中間件是一種在 HTTP 請(qǐng)求到達(dá)應(yīng)用程序路由之前和之后執(zhí)行的代碼。它允許在應(yīng)用程序級(jí)別執(zhí)行常見(jiàn)的任務(wù),例如身份驗(yàn)證、授權(quán)、日志記錄和 CSRF 保護(hù)。
Laravel 提供以下類(lèi)型的中間件:
1. 全局中間件
這些中間件適用于所有傳入請(qǐng)求,無(wú)論路由如何。可以在 app/Http/Kernel.php 文件中注冊(cè)全局中間件。
2. 路由中間件
這些中間件僅適用于特定路由或一組路由。可以在路由定義中通過(guò) middleware 方法注冊(cè)路由級(jí)中間件。
3. 組中間件
這些中間件允許將多個(gè)中間件應(yīng)用于一組路由。可以在 routes/api.php 或 routes/web.php 文件中使用 middlewareGroup 方法創(chuàng)建組級(jí)中間件。
4. 終止中間件
這些中間件在所有其他中間件和路由處理程序執(zhí)行后執(zhí)行。這對(duì)于執(zhí)行諸如請(qǐng)求結(jié)束日志記錄或錯(cuò)誤處理之類(lèi)的最終任務(wù)非常有用。
5. 自定中間件
開(kāi)發(fā)者還可以創(chuàng)建自己的自定中間件。這可以通過(guò)擴(kuò)展 Illuminate\Http\Middleware\BaseMiddleware 類(lèi)來(lái)實(shí)現(xiàn)。
在 Laravel 中使用中間件
使用 Laravel 中間件非常簡(jiǎn)單,只需要遵循以下步驟:
-
創(chuàng)建一個(gè)中間件類(lèi)(對(duì)于自定中間件)
在
Kernel.php 文件中注冊(cè)中間件(對(duì)于全局中間件)在路由定義中注冊(cè)中間件(對(duì)于路由級(jí)中間件)
將中間件添加到組級(jí)中間件(對(duì)于組級(jí)中間件)
通過(guò)使用中間件,開(kāi)發(fā)者可以輕松地維護(hù)應(yīng)用程序的安全性、性能和其他方面。






