laravel的中間件有什么用

laravel中,中間件的作用就是過濾http請求,根據不同的請求來執行不同的邏輯操作;中間件可以進行請求數據的攔截處理和數據檢驗,并且進行邏輯處理后判斷是否允許進入下一個中間件。

laravel的中間件有什么用

本文操作環境:Windows10系統、Laravel6版、Dell G3電腦。

laravel的中間件有什么用

中間件顧名思義是指在請求和響應中間,進行請求數據的攔截處理,數據校驗,并且進行邏輯處理后判斷是否允許進入下一個中間件;中間件分為前綴中間件,后置中間件;可以用于權限認證、日志記錄等。

簡單來說中間件在 laravel 中的作用就是過濾 HTTP 請求,根據不同的請求來執行不同的邏輯操作。

我們可以通過中間件實現以下功能:

  • 指定某些路由

  • 設置 HTTP 響應頭

  • 記錄請求

  • 過濾請求的參數

  • 決定是否啟用站點維護模式

  • 響應前后做一些必要的操作

自定義中間件

命令行執行下面的簡單命令,就可以輕松創建一個新的中間件

php?artisan?make:middleware?<middlewarename> //MiddlewareName?就是你要創建的中間件的名字</middlewarename>

執行上面的命令,Laravel 會在 app/Http/Middleware 目錄下自動創建一個只包含 handle 方法的中間件。

<?php namespace AppHttpMiddleware; use Closure; class RedirectIfSuperAdmin {     /**      * Handle an incoming request.      *      * @param  IlluminateHttpRequest  $request      * @param  Closure  $next      * @return mixed      */     public function handle($request, Closure $next)     {         return $next($request);     } }

在中間件被調用的時候,handle 方法就會執行。這里需要注意的是 handle 方法默認有兩個參數 $request 和 $next 。 $request 用來接受應用的請求組求, $next 將請求傳遞給應用程序。這兩個參數是 handle 必不可少的!中間件也包括前置中間件和后置中間件。

“前置中間件” 顧名思義在將請求轉發到應用程序之前處理一些邏輯。 另一方面,在中間件之后,在應用程序處理了請求并生成響應之后運行。

前置中間件:

<?php namespace AppHttpMiddleware; use Closure; class RedirectIfSuperAdmin {     /**      * Handle an incoming request.      *      * @param  IlluminateHttpRequest  $request      * @param  Closure  $next      * @return mixed      */     public function handle($request, Closure $next)     {         //你的邏輯就在這里         return $next($request);     } }

后置中間件:

<?php namespace AppHttpMiddleware; use Closure; class RedirectIfSuperAdmin {     /**      * Handle an incoming request.      *      * @param  IlluminateHttpRequest  $request      * @param  Closure  $next      * @return mixed      */     public function handle($request, Closure $next)     {         $response = $next($request);         //你的邏輯就在這里 例如 重定向到  `/`         return $response;     } }

laravel的中間件有什么用

【相關推薦:laravel視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享