Maison > cadre php > Laravel > le corps du texte

Quels sont les middlewares couramment utilisés dans Laravel ?

青灯夜游
Libérer: 2023-01-13 00:40:24
original
4542 Les gens l'ont consulté

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.

Quels sont les middlewares couramment utilisés dans Laravel ?

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,
];
Copier après la connexion

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' => [
        ...
    ],
];
Copier après la connexion

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 所对应的中间件,方便多了,批量式的。
});
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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