ホームページ  >  記事  >  PHPフレームワーク  >  laravelでよく使われるミドルウェアは何ですか?

laravelでよく使われるミドルウェアは何ですか?

青灯夜游
青灯夜游オリジナル
2021-09-17 14:44:114519ブラウズ

laravel で一般的に使用されるミドルウェアは次のとおりです: 1. 「$middleware」グローバル ミドルウェア。すべてのリクエストを処理する必要がある場合、このコンポーネントで定義するのが適切です。2. 「$routeMiddleware」ルーティング ミドルウェア。3. . "$middlewareGroups" ミドルウェア グループ。

laravelでよく使われるミドルウェアは何ですか?

このチュートリアルの動作環境: Windows 7 システム、Laravel 6 バージョン、Dell G3 コンピューター。

laravel で一般的に使用される 3 つのミドルウェア

$middleware 属性:

この属性は次のように呼ばれます。グローバルミドルウェアですが、なぜグローバルミドルウェアと呼ばれるのでしょうか?リクエストするたびに、その中のすべてのミドルウェアが実行されるためです。

$routeMiddleware 属性:

この属性はルーティング ミドルウェアと呼ばれます。なぜルーティング ミドルウェアと呼ばれるのでしょうか?この属性で定義されたミドルウェアはルート定義時にのみ参照できるためです。
これが私たちが定義したルーティング ミドルウェアであると仮定します:

protected $routeMiddleware = [
    ...
    'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
];

\Illuminate\Auth\Middleware\Authenticate::class ミドルウェアを使用したい場合はどうすればよいでしょうか?
Route::get('hello/laravel-china','XXController@index')->middleware('auth');
ルートを定義するときにミドルウェア メソッドを呼び出しました。パラメータ値は次のとおりです。 auth、このようにこのルートにアクセスするとミドルウェアが実行されます。理解する!とてもシンプルです。

$middlewareGroups 属性:

この属性はミドルウェア グループと呼ばれます。なぜミドルウェア グループと呼ばれるのでしょうか?以前、ルーティングミドルウェアの話をしましたが、このようにルーティングミドルウェアを追加するのは面倒だと思いませんか? 例えば、10個のミドルウェアを実行した場合、ルートを定義するときにさらに10個追加する必要がありますか?ミドルウェア群があればそこまで面倒なことは必要ありません。ミドルウェアグループがどのように定義されているかを見てみましょう。

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        ...
    ],
    'api' => [
        ...
    ],
];

わかりました。上記の例はミドルウェア グループの形式を定義するものです。たとえば、キー値 web を見ると、複数のミドルウェアで構成される配列に対応します。定義したら、それをどのように使用すればよいでしょうか?
ルートを宣言するときは、次のように呼び出すことができます。

Route::group(['middleware' => 'web'],function($route){
    $route->get('hello/world',function(){});
    $route->get('hello/php',function(){});
    // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件,方便多了,批量式的。
});

概要:

$middleware: グローバル ミドルウェア。すべてのリクエストに対して何らかの処理を行う必要がある場合、この属性で定義するのが適しています。 (例: リクエスト数をカウントする)
$middlewareGroups: ミドルウェア グループ たとえば、プロジェクトに API リクエストと Web リクエストがある場合、2 種類のリクエスト ミドルウェアを分離する必要があります。コンポーネントが組み立てられます。

$routeMiddleware: ルーティング ミドルウェア 一部の個別のリクエストについて、特別なミドルウェアを実行する必要がある場合は、この属性で定義するのが適切です。

引用: https://laravel-china.org/topics/7392/laravel-three-middleware-functions

関連する推奨事項:最新の 5 つの Laravel ビデオ チュートリアル

以上がlaravelでよく使われるミドルウェアは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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