ホームページ >バックエンド開発 >PHPチュートリアル >ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)

不言
不言オリジナル
2018-07-13 13:57:413313ブラウズ

ミドルウェアとは何ですか?ミーケ先生のlaravelミドルウェアについての話を聞く(写真)

この記事では主にミドルウェアとは何かについて紹介します。 Miaojueshi Taiqu が Laravel ミドルウェア (写真) について話しているのを聞きました。これは一定の参考価値があります。今、みんなに共有します。困っている友達は参考にしてください。

ミドルウェアとは何ですか?名前が示すように、ミドルウェアは、単純なトークン検証などの一部のリクエストをフィルタリングするミドルウェア、中間層です。次の記事では、Laravel でミドルウェアを定義し、ミドルウェアを登録する方法とテクニックについて詳しく説明しています。

1. ミドルウェアの定義

ラベル付きのlaravelは、コマンド

php Artisan make:middleware CheckToken

この方法で、コマンドで直接定義できます。 CheckToken というミドルウェア クラスがあります。このクラスは /app/Http/Middleware ディレクトリにあります:

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)

これをクリックすると、コードは次のようになります:

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)

その後、そこに何かを書き込むことができます。例:

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 の名前空間を追加する必要があります。)

正解は次のとおりです。

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)ブラウザに直接「sample.test/」と入力すると、www.baidu.com に直接ジャンプしますが、このようにプレイすると、 not:

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)ok グローバル登録はここで終了です。一般的に、グローバル設定は推奨されません。毎回トークンを持っていくのは本当に面倒なので、同意しません;

2. 次に、ルートを指定するミドルウェアを見てみましょう、

この種のミドルウェア ファイルをインストールするには、まずキーを割り当てる必要がありますapp/Http/Kernel.php のミドルウェアに追加し、ファイル内の $routeMiddleware に追加します。すでに多くのデフォルト キーが含まれていますが、最後に 1 つ追加するだけです:

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)キーを追加した後、ルーティング ファイルに移動して有効にします。

Route::get('/','StaticPagesController@home')->middleware('token');

ブラウザにアクセスすると、sample.test/ と直接入力すると、Baidu にリダイレクトされ、sample .test/? と入力します。 token=minxintoken はホームページに入ることができます

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)もちろん、これの欠点は、ルートをタップして使用する必要があり、通常ではないことです。 Kernel.php ファイルに $middlewareGroups という配列があるということです。Web で作成したばかりの CheckToken、

ミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)、そして /route 内のすべてのものを追加します。 /web.php にアクセスするには token=minxintoken が必要です。たとえば、sample.test/sample.test/aboutsample.test/help など;

上記がこの記事の内容全体です。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

おすすめコース:

最新laravel mall実践ビデオチュートリアル

Laravelフレームワークの徹底解説と実践ビデオチュートリアル

Laravel を簡単に学ぶ - 基礎

以上がミドルウェアとは何ですか? Moejieshi Taiqu が Laravel ミドルウェアについて語る (写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。