国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > FAQ問答 > 正文

什么是中間件?聽滅絕師太趣說laravel中間件(圖)

2020-03-22 17:46:36
字體:
來源:轉載
供稿:網友

什么是中間件?聽滅絕師太趣說laravel中間件(圖)

這篇文章主要介紹了關于什么是中間件?聽妙絕師太趣說laravel中間件(圖),有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

什么是中間件?中間件顧名思義就是中間的件, 中間的層, 過濾一些請求的, 例如一些簡單的token驗證;以下文章詳細講解了laravel定義中間件和注冊中間件的方法和技巧。

一.定義中間件

標注的laravel可以直接在命令里面定義

php artisan make:middleware CheckToken

這樣就創建好了一個叫CheckToken的中間件類, 這個類在/app/Http/Middleware目錄下:

圖片1.png

點開以后代碼長這樣:

圖片2.png

然后就可以去里面寫點東西. 例如:

html' target='_blank'>public function handle($request, Closure $next) if($request- input( token )!= minxintoken ){ return redirect()- to( http://www.baidu.com  return $next($request);}

意思很明顯, 如果發送過來的數據里面 token 字段不等于minxintoken那么就自動跳轉到http://www.baidu.com

當然了到此為止只是創建好了一個叫CheckToken的中間件, 并沒有啟用; 現在開始啟用;

二.注冊中間件

所謂的啟用, 就是將這個中間件注冊到指定路由中;

注冊分兩種, 全局中間件和指定路由中間件,

1. 全局中間件:

只要把相應中間件添加到app/Http/Kernel.php的數組屬性$middleware中就ok: (原文直接寫的CheckToken::class是不行的 會報App/Http/CheckToken不存在, 需要加上CheckToken.php的namespace才能正確獲取到CheckToken)

正解如下:

圖片3.png

瀏覽器直接輸入sample.test/about就會直接蹦到www.baidu.com去, 但是這么玩就不會:

圖片4.png

ok全局注冊到此為止. 一般來說全局設置不建議也不贊成, 因為每次都要帶上token確實是煩球;

2.然后就來看看指定路由的中間件,

這種中間件, 首先需要在app/Http/Kernel.php中分配給中間件一個key, 添加在該文件的$routeMiddleware里面, 原里面已經有很多個默認的key, 在后面追加一個就行:

圖片5.png

加好了key以后, 去路由文件里面啟用

Route::get( / , StaticPagesController@home )- middleware( token 

這樣訪問瀏覽器的效果就是直接輸sample.test/會重定向到百度, 而輸sample.test/?token=minxintoken就能進入到主頁

圖片6.png

當然了, 這樣有個弊端就是來一個路由, 要用就要敲一下, 不正常; 所以還有一個騷操作就是在Kernel.php文件里面有一個叫$middlewareGroups的數組: 我們在web里面把我們剛剛創建的CheckToken加進去,

圖片7.png

然后所有的/route/web.php里面的東西就要token=minxintoken才能訪問了;例如什么sample.test/ sample.test/about sample.test/help 等等;

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關課程推薦:

最新laravel商城實戰視頻教程

全方位解讀Laravel框架及實戰視頻教程

輕松學會Laravel-基礎篇

以上就是什么是中間件?聽滅絕師太趣說laravel中間件(圖)的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灯塔市| 广昌县| 同江市| 名山县| 永川市| 石泉县| 苏州市| 五河县| 广平县| 察隅县| 襄城县| 阜平县| 龙泉市| 德昌县| 固阳县| 宾阳县| 青冈县| 临清市| 嘉黎县| 乐亭县| 天台县| 兰西县| 石林| 绥化市| 洛浦县| 江达县| 炉霍县| 铜鼓县| 杭锦后旗| 闻喜县| 环江| 仙桃市| 柳河县| 齐齐哈尔市| 乳源| 赣州市| 咸丰县| 友谊县| 枞阳县| 莫力| 德兴市|