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 ミドルウェアを始めましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。