簡単な例で ThinkPHP6 ミドルウェアを始めましょう

王雪芹
リリース: 2020-05-06 17:12:12
オリジナル
2300 人が閲覧しました

ThinkPHP6から公式マニュアルに「ミドルウェア」という用語が出てきますが、ミドルウェアとは何に使われるのでしょうか?どのように使用すればよいでしょうか?以下でゆっくり分析してみましょう。

まずミドルウェアの公式 Web サイトの定義を見てください:

ミドルウェアは主にアプリケーションの HTTP リクエストをインターセプトまたはフィルタリングし、必要なビジネス処理を実行するために使用されます。

文字通りの意味から理解するのは難しくありませんが、ミドルウェアはコントローラーのメソッドをリクエストする前にインターセプトしたり、他のことを実行したりできます。

www.blog.com のインデックス コントロールのインデックス メソッドにコード行を記述します。

echo "index方法";
ログイン後にコピー

ミドルウェアが定義されている場合に何が起こるかをテストしてみましょう。

1. ミドルウェアの定義

ThinkPHP6 フレームワークをダウンロードすると、アプリの下に middleware.php があります。このファイルがミドルウェアです。定義ファイルは場所に注目しますが、アプリケーション配下ではなく、app配下のBaseController.phpと同じディレクトリに置かれる、グローバルなミドルウェアです。

ミドルウェアの定義は非常に簡単で、次の 2 つの方法があります:

1. コマンド ラインを使用します。 php think make:middleware チェック。使ってみた感想は「早い!」の一言です。非常に高速!ミドルウェアの定義は瞬時に完了します。

2. コピーして貼り付けて、アプリの下にミドルウェア ディレクトリを作成し、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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート