您好,登錄后才能下訂單哦!
本篇內容介紹了“laravel的中間件有這么作用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在laravel中,中間件的作用就是過濾HTTP請求,根據不同的請求來執行不同的邏輯操作;中間件可以進行請求數據的攔截處理和數據檢驗,并且進行邏輯處理后判斷是否允許進入下一個中間件。
本文操作環境:Windows10系統、Laravel6版、Dell G3電腦。
中間件顧名思義是指在請求和響應中間,進行請求數據的攔截處理,數據校驗,并且進行邏輯處理后判斷是否允許進入下一個中間件;中間件分為前綴中間件,后置中間件;可以用于權限認證、日志記錄等。
簡單來說中間件在 laravel 中的作用就是過濾 HTTP 請求,根據不同的請求來執行不同的邏輯操作。
我們可以通過中間件實現以下功能:
指定某些路由
設置 HTTP 響應頭
記錄請求
過濾請求的參數
決定是否啟用站點維護模式
響應前后做一些必要的操作
自定義中間件
命令行執行下面的簡單命令,就可以輕松創建一個新的中間件
php artisan make:middleware <MiddlewareName> //MiddlewareName 就是你要創建的中間件的名字
執行上面的命令,Laravel 會在 app/Http/Middleware 目錄下自動創建一個只包含 handle 方法的中間件。
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { return $next($request); } }
在中間件被調用的時候,handle 方法就會執行。這里需要注意的是 handle 方法默認有兩個參數 $request 和 $next 。 $request 用來接受應用的請求組求, $next 將請求傳遞給應用程序。這兩個參數是 handle 必不可少的!中間件也包括前置中間件和后置中間件。
“前置中間件” 顧名思義在將請求轉發到應用程序之前處理一些邏輯。 另一方面,在中間件之后,在應用程序處理了請求并生成響應之后運行。
前置中間件:
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { //你的邏輯就在這里 return $next($request); } }
后置中間件:
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $response = $next($request); //你的邏輯就在這里 例如 重定向到 `/` return $response; } }
“laravel的中間件有這么作用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。