ホームページ > 記事 > PHPフレームワーク > thinkphp ミドルウェアの用途は何ですか?
thinkphp では、「APP\middleware」ディレクトリに作成されるクラス ファイルがミドルウェアであり、主にアプリケーションの HTTP リクエストをインターセプトまたはフィルタリングし、必要な業務処理を実行するために使用されます。ルーティングミドルウェアとコントローラーミドルウェア。
この記事の動作環境: Windows 10 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
1. ミドルウェア ファイル定義
APP\middleware ディレクトリに作成します。 class ファイルはすべてミドルウェアであり、グローバル ミドルウェア、ルーティング ミドルウェア、およびコントローラー ミドルウェアはすべてディレクトリ パスを通じて参照できます。複数のアプリケーションは、独自のアプリケーション ディレクトリに新しいミドルウェア ディレクトリを作成し、以下のクラス ファイルを作成する必要があります。
ミドルウェアは主に、アプリケーションの HTTP リクエストをインターセプトまたはフィルタリングし、必要なビジネス処理を実行するために使用されます。
ミドルウェアの定義: コマンド ライン命令を通じてミドルウェアをすばやく生成できます。
php think make:middleware Check
この命令は、application/http/middleware ディレクトリの下に Check ミドルウェアを生成します。
2. ミドルウェア ファイルの参照または使用
ミドルウェア ファイルを 1 ステップで作成した後
# (1 )
をグローバルミドルウェアとして使用します。APP ディレクトリの middleware.php ファイルに、\app\middleware\chushimima::class などの 1 のパスとファイルを追加します。これは次のようになります。グローバルミドルウェアを使用します。世界中で機能します。
middleware.phpに登録されていないミドルウェアはグローバルミドルウェアではなく、定義方法の違いによりルーティングミドルウェアとコントローラミドルウェアに分けられます。
(2) ルーティングミドルウェアとして利用する
同じミドルウェアクラスファイル\app\middleware\chushimima、APPディレクトリ下のrouteディレクトリにルートを記述します。定義ファイルに、
Route::rule('index/denglu','index/denglu'); ->middleware('\app\middleware\chushimima');
などのルーティング ルールを追加します。これは、このルートにアクセスする場合にのみ機能するルーティング ミドルウェアです。
(3) コントローラのミドルウェアとして使用する
同じミドルウェア クラス ファイル \app\middleware\chushimima に、コントローラ ファイルのコードに次のコードを追加します。 ##
class Index extends baseController { protected $middleware='\app\middleware\chushimima';推奨学習: 「
PHP ビデオ チュートリアル 」
以上がthinkphp ミドルウェアの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。