Les middlewares couramment utilisés dans Laravel sont : 1. Le middleware global "$middleware" Lorsque toutes les requêtes doivent être traitées, il convient de le définir dans ce composant ; 2. Le middleware de routage "$routeMiddleware" 3, "$middlewareGroups". " groupe middleware.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version Laravel 6, ordinateur Dell G3.
Trois middleware couramment utilisés dans Laravel
Attribut $middleware :
Cet attribut est appelé middleware global Pourquoi est-il appelé middleware global ? Parce que chaque fois que vous demandez, chaque middleware qu'il contient sera exécuté.
Attribut $routeMiddleware :
Cet attribut est appelé middleware de routage. Pourquoi est-il appelé middleware de routage ? Parce que le middleware défini dans cet attribut ne peut être référencé que lors de la définition des routes.
Supposons qu'il s'agisse du middleware de routage que nous avons défini :
protected $routeMiddleware = [ ... 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, ];
Et si nous voulons utiliser le middleware de classe IlluminateAuthMiddlewareAuthenticate::class ?
Route::get('hello/laravel-china','XXController@index')->middleware('auth');
Nous avons appelé la méthode middleware lors de la définition de l'itinéraire, et la valeur du paramètre est auth. comment accéder à ce temps de route, le middleware sera exécuté. J'ai compris! Très simple.
Attribut $middlewareGroups :
Cet attribut est appelé groupe middleware. Pourquoi est-il appelé groupe middleware ? Nous avons déjà parlé du middleware de routage. Pensez-vous qu'il est gênant d'ajouter un middleware de routage de cette manière ? Par exemple, si nous exécutons 10 middlewares, devons-nous en ajouter 10 lors de la définition de la route ? Avec le groupe middleware, il n’est pas nécessaire d’être aussi gênant. Jetons un coup d'œil à la manière dont le groupe middleware est défini.
protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, ... ], 'api' => [ ... ], ];
D'accord, l'exemple ci-dessus consiste à définir le format du groupe middleware. Par exemple, si nous regardons la valeur clé web, elle correspond à un tableau composé de plusieurs middlewares. Une fois que nous l’avons défini, comment l’utiliser ?
Lorsque nous déclarons l'itinéraire, nous pouvons l'appeler ainsi.
Route::group(['middleware' => 'web'],function($route){ $route->get('hello/world',function(){}); $route->get('hello/php',function(){}); // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件,方便多了,批量式的。 });
Résumé :
$middleware : Middleware global, lorsque vous devez effectuer un traitement sur toutes les requêtes, il convient de le définir dans cet attribut. (Par exemple, compter le nombre de requêtes)
$middlewareGroups : groupes middleware Par exemple, lorsque notre projet comporte des requêtes API et des requêtes Web, nous devons séparer les deux types de middleware de requête. À ce stade, nous avons besoin de notre groupe middleware. La.
$routeMiddleware : Middleware de routage Lorsque nous devons exécuter un middleware spécial pour certaines requêtes individuelles, il convient de le définir dans cet attribut.
Citation : https://laravel-china.org/topics/7392/laravel-trois-middleware-functions
Recommandations associées : Les cinq derniers didacticiels vidéo Laravel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!