首頁 >php框架 >ThinkPHP >從一個簡單的小例子入門ThinkPHP6的中間件

從一個簡單的小例子入門ThinkPHP6的中間件

王雪芹
王雪芹原創
2020-05-06 15:47:452319瀏覽

從ThinkPHP6開始,一個叫做「中間件」的名詞出現在了官方手冊中,那麼中間件是用來幹什麼的?又該如何使用呢?下面咱們慢慢分析。

首先看下中介軟體官網的定義:

中介軟體主要用於攔截或過濾應用程式的 HTTP 請求,並進行必要的業務處理。

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

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

echo "index方法";

我們來測試下定義了中間件會有什麼事情發生?

一、中間件的定義

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

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

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

2、複製貼上,我們在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就會發現,先輸出中間件的內容,再輸入控制器的內容。

從一個簡單的小例子入門ThinkPHP6的中間件

這也就是應證了官方對中間件的定義,在執行方法前先去執行對應的中間件。以上就是一個中間件入門的小例子,這個小例子吃透後,也就為中間件其他的內容打開了大門。

以上是從一個簡單的小例子入門ThinkPHP6的中間件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:tp之文件上傳下一篇:tp之文件上傳