ホームページ >バックエンド開発 >PHPチュートリアル >ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)
ミドルウェアとは何ですか?ミーケ先生のlaravelミドルウェアについての話を聞く(写真)
この記事では主にミドルウェアとは何かについて紹介します。 Miaojueshi Taiqu が Laravel ミドルウェア (写真) について話しているのを聞きました。これは一定の参考価値があります。今、みんなに共有します。困っている友達は参考にしてください。
ミドルウェアとは何ですか?名前が示すように、ミドルウェアは、単純なトークン検証などの一部のリクエストをフィルタリングするミドルウェア、中間層です。次の記事では、Laravel でミドルウェアを定義し、ミドルウェアを登録する方法とテクニックについて詳しく説明しています。
1. ミドルウェアの定義
ラベル付きのlaravelは、コマンド
php Artisan make:middleware CheckToken
この方法で、コマンドで直接定義できます。 CheckToken というミドルウェア クラスがあります。このクラスは /app/Http/Middleware ディレクトリにあります:
これをクリックすると、コードは次のようになります:
その後、そこに何かを書き込むことができます。例:
public function handle($request, Closure $next) { if($request->input('token')!='minxintoken'){ return redirect()->to('http://www.baidu.com'); } return $next($request); }
意味は明白です。送信されたデータの 'token' フィールドがminxintoken と等しくない場合は、自動的に http://www.baidu.com
にジャンプします。もちろん、これまでのところ、CheckToken というミドルウェアを作成しただけですが、まだ有効になっていません。次に、有効にします;
2. ミドルウェアを登録します
いわゆるアクティベーションとは、このミドルウェアを指定されたルートに登録することです;
登録には、グローバル ミドルウェアの 2 種類があります。グローバル ミドルウェア:
対応するミドルウェアが app/Http/Kernel.php の配列属性 $middleware に追加されていれば問題ありません。 (元のテキストに直接記述された CheckToken::class は機能せず、App\Http\ に報告されます。CheckToken が存在しません。CheckToken を正しく取得するには、CheckToken.php の名前空間を追加する必要があります。)
正解は次のとおりです。
ブラウザに直接「sample.test/」と入力すると、www.baidu.com に直接ジャンプしますが、このようにプレイすると、 not:
ok グローバル登録はここで終了です。一般的に、グローバル設定は推奨されません。毎回トークンを持っていくのは本当に面倒なので、同意しません;
2. 次に、ルートを指定するミドルウェアを見てみましょう、この種のミドルウェア ファイルをインストールするには、まずキーを割り当てる必要がありますapp/Http/Kernel.php のミドルウェアに追加し、ファイル内の $routeMiddleware に追加します。すでに多くのデフォルト キーが含まれていますが、最後に 1 つ追加するだけです:
キーを追加した後、ルーティング ファイルに移動して有効にします。
Route::get('/','StaticPagesController@home')->middleware('token');
ブラウザにアクセスすると、sample.test/ と直接入力すると、Baidu にリダイレクトされ、sample .test/? と入力します。 token=minxintoken はホームページに入ることができます
もちろん、これの欠点は、ルートをタップして使用する必要があり、通常ではないことです。 Kernel.php ファイルに $middlewareGroups という配列があるということです。Web で作成したばかりの CheckToken、
、そして /route 内のすべてのものを追加します。 /web.php にアクセスするには token=minxintoken が必要です。たとえば、sample.test/sample.test/aboutsample.test/help など;
上記がこの記事の内容全体です。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
おすすめコース:
最新laravel mall実践ビデオチュートリアルLaravelフレームワークの徹底解説と実践ビデオチュートリアルLaravel を簡単に学ぶ - 基礎以上がミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。