Maison > cadre php > Laravel > Les fonctions de trois middlewares dans Laravel

Les fonctions de trois middlewares dans Laravel

藏色散人
Libérer: 2021-05-26 16:10:44
avant
2144 Les gens l'ont consulté

La colonne tutorielle suivante de laravel vous présentera les fonctions des trois middlewares de Laravel. J'espère qu'elle sera utile aux amis dans le besoin !

Avant, je pensais simplement que le middleware ne faisait qu'ajouter un middleware au middleware. Maintenant je sais qu'il existe trois types de middleware, à savoir : $middleware $middlewareGroup $routeMiddleware Après avoir consulté les informations, j'ai enfin compris les fonctions et les différences de ces trois types.

Le premier type, Middleware global/$middleware :

Chaque demande que nous faisons, ici Chaque middleware sera exécuté.

Le deuxième type, Route middleware/$routeMiddleware :

Le middleware défini dans cet attribut, ne peut être référencé lors de la définition des itinéraires.

Supposons qu'il s'agisse du middleware de routage que nous avons défini :

protected $routeMiddleware = [
 ...
 'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
];
Copier après la connexion

Si nous voulons utiliser IlluminateAuthMiddlewareAuthenticate::class, ce middleware doit être écrit comme ceci :

Route::get('hello/laravel-china','XXController@index')->middleware('auth');
Copier après la connexion

Lors de la définition d'une route, appelez la méthode middleware et la valeur du paramètre est auth. De cette façon, lors de l'accès à la route, le middleware sera exécuté.

Le troisième type, Middleware Groups/$middlewareGroups :

Regardez le middleware de routage ci-dessus, on sent qu'ajouter un middleware de routage de cette manière est très gênant. Si l'on veut exécuter 100 middleware, il faut en ajouter 100 lors de la définition de la route. Mais avec le groupe middleware, vous n’avez pas besoin d’être si 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' => [
 ...
 ],
];
Copier après la connexion

L'exemple ci-dessus consiste à définir le format du groupe de middlewares. Par exemple, la valeur clé web correspond à un tableau composé de plusieurs middlewares.

Lorsque vous devez déclarer un itinéraire, appelez-le simplement comme suit.

Route::group(['middleware' => 'web'],function($route){
 $route->get('hello/world',function(){});
 $route->get('hello/php',function(){});
 // 这样在访问这个这些路由的时候,就会执行中间件组 web 所对应的中间件!
});
Copier après la connexion

** Résumé :

$middleware/middleware global, lorsque vous devez effectuer un traitement pour toutes les requêtes, il convient de le définir ici au sein de la propriété. (Par exemple, compter le nombre de requêtes)

$middlewareGroups/middleware groups Par exemple, lorsque notre projet a des requêtes API et des requêtes Web, nous devons séparer les deux types de middleware de requêtes. Nous avons besoin de notre groupe middleware.

$routeMiddleware/routing middleware Lorsque nous devons exécuter un middleware spécial pour certaines requêtes individuelles, il convient de le définir dans cet attribut. **

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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal