1.簡介
? ? ? 中間件是我接觸La來比較新穎的一個概念,但是在我在前公司構建后臺的時候我和我同事已經在Phalcon上做過這樣的一個東西屑咳,不過我們處理是在BaseController上抽象出來一個公用的驗證,處理驗證參數(shù)的功能款熬。同樣這里的中間件最大的作用就是過濾進入HTTP請求提供了一套便利的機制摸袁。
2. 如果定義一個中間件
La 黨有是有最快捷電費Artisan命令 make:mkddleware
php artisan make:middleware CheckAge
這命令會在app/Http/Middleware目錄下面創(chuàng)建一個新的中間件類CheckAge,理解中間件的最好方式就是將中間件看做 HTTP 請求到達目標動作之前必須經過的“層”,每一層都會檢查請求并且可以完全拒絕它坟冲。
3. 注冊中間件
全局中間件
如果你想要中間件在每一個HTTP請求期間被執(zhí)行,只需要將相應的中間件類設置到 app/Http/Kernel.php的數(shù)組屬性$middleware中即可溃蔫。
分配中間件到路由
A . 首先應該在app/Http/Kernel.php文件中分配給該中間件一個簡寫的 key
B. 中間件在 HTTP Kernel 中被定義后健提,可以使用middleware方法將其分配到路由
4. 中間件參數(shù)
中間件還可以接收額外的自定義參數(shù),例如伟叛,如果應用需要在執(zhí)行給定動作之前驗證認證用戶是否擁有指定的角色私痹,可以創(chuàng)建一個CheckRole來接收角色名作為額外參數(shù)。