溫馨提示×

溫馨提示×

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

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

ThinkPHP6的中間件有什么用

發(fā)布時間:2021-04-19 09:26:12 來源:億速云 閱讀:421 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)ThinkPHP6的中間件有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

從ThinkPHP6開始,一個叫做“中間件”的名詞出現(xiàn)在了官方手冊中,那么中間件是用來干什么的?又應(yīng)該如何使用呢?下面咱們慢慢分析。

首先看下中間件官網(wǎng)的定義:

中間件主要用于攔截或過濾應(yīng)用的 HTTP 請求,并進(jìn)行必要的業(yè)務(wù)處理。

從字面意思上不難理解,中間件就是在我們請求控制器的方法之前,中間件就可以攔截或者做其他的事情。

我們在www.blog.com中的index控制中的index方法中就寫一行代碼:

echo "index方法";

我們來測試下定義了中間件會有什么事情發(fā)生?

一、中間件的定義

我們下載好ThinkPHP6框架后,在app下有middleware.php,這個文件就是中間件的定義文件,我們注意下它的位置,它沒有放在任何應(yīng)用下面,而是在app下面和BaseController.php是相同目錄的,因此它是一個全局中間件。

定義中間件很簡單,我們有兩個方法:

1、用命令行。php think make:middleware Check。這個使用后的感受就一個字:快!真快!中間件定義瞬間完成。

2、復(fù)制粘貼,我們在app下建立middleware目錄,并且建立一個 Check.php的中間件:

<?php
namespace app\middleware;
class Check
{
    public function handle($request, \Closure $next)
    {
        echo "app中間件";
        return $next($request);
    }
}

中間件定義完了,為啥沒生效?

按照上面的中間件定義步驟,中間件定義完成,但是并沒有生效,是什么原因呢?

原因是沒有在配置文件中啟動。如何操作?

打開app\middleware.php,在最小面添加如下代碼:

app\middleware\Check::class

我們再次訪問www.blog.com就會發(fā)現(xiàn),先輸出中間件的內(nèi)容,再輸入控制器的內(nèi)容。

ThinkPHP6的中間件有什么用

這也就是應(yīng)證了官方對中間件的定義,在執(zhí)行方法前先去執(zhí)行對應(yīng)的中間件。以上就是一個中間件入門的小例子,這個小例子吃透后,也就為中間件其他的內(nèi)容打開了大門。

感謝各位的閱讀!關(guān)于“ThinkPHP6的中間件有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI