中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

laravel的中間件有這么作用

發布時間:2022-04-07 17:03:49 來源:億速云 閱讀:222 作者:iii 欄目:編程語言

本篇內容介紹了“laravel的中間件有這么作用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

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

laravel的中間件有什么用

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

簡單來說中間件在 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的中間件有這么作用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贡嘎县| 苍溪县| 丹江口市| 泽州县| 邮箱| 花垣县| 武清区| 汉阴县| 寿光市| 通许县| 平昌县| 南乐县| 宁河县| 盘锦市| 阜宁县| 旬阳县| 西宁市| 阿合奇县| 襄垣县| 左权县| 延边| 环江| 玉树县| 黄龙县| 绥宁县| 峡江县| 临漳县| 都兰县| 宁陵县| 牙克石市| 蕉岭县| 新闻| 林州市| 丁青县| 沂源县| 余庆县| 克什克腾旗| 郴州市| 易门县| 偏关县| 张家口市|