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

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

Jul 13, 2018 pm 01:57 PM

ミドルウェアとは何ですか?ミーケ先生の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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

Laravelの通知

See all articles