laravel 創建自定義中間件

  1. 首先我們要定義一個新的中間件,Artisan命令:
php artisan make:middleware LoginMiddleware

這個命令會在 app/Http/Middleware 目錄下創建一個新的中間件類 LoginMiddleware.php
在這裏插入圖片描述
我這裏是判斷session裏是否有值,如果沒有值,則重定向到登陸界面,讓用戶重新登錄,無法訪問。右側方框裏可以寫自己的邏輯。
然後,我們還需要在Kernel.php文件裏註冊一下。
註冊中間件
中間件分三類,分別是全局中間件、中間件組和指定路由中間件:

  1. 全局中間件
    如果你想要定義的中間件在每一個 HTTP 請求時都被執行,只需要將相應的中間件類添加到 app/Http/Kernel.php 的數組屬性 $middleware 中即可。
    在這裏插入圖片描述
  2. 分配中間件到指定路由
    如果你想要分配中間件到指定路由,首先應該在 app/Http/Kernel.php 文件中分配給該中間件一個 key,默認情況下,該類的 $routeMiddleware 屬性包含了 Laravel 自帶的中間件,要添加你自己的中間件,只需要將其追加到後面併爲其分配一個 key。
    在這裏插入圖片描述
  3. 中間件組
    有時候你可能想要通過指定一個鍵名的方式將相關中間件分到同一個組裏面,這樣可以更方便地將其分配到路由中,這可以通過使用 HTTP Kernel 提供的 $middlewareGroups 屬性實現。
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章