En tant que framework PHP populaire, Laravel utilise souvent un middleware middleware pendant le processus de développement. Dans cet article, nous aborderons les bases de l'utilisation du middleware Laravel et comment créer et utiliser un middleware personnalisé.
Laravel Middleware Middleware est un mécanisme de filtrage des requêtes HTTP. Ils sont souvent utilisés pour gérer une logique de requête HTTP complexe, telle que l'authentification des utilisateurs, l'octroi d'un accès ou la journalisation des requêtes.
Laravel est livré avec des middlewares intégrés, tels que :
Dans cet article, nous utiliserons le propre middleware de Laravel pour démontrer ces concepts de base. De plus, nous créerons un middleware personnalisé pour montrer comment écrire votre propre middleware.
Utilisation du middleware intégré
Voyons d'abord comment utiliser le middleware intégré dans Laravel. Pour utiliser le middleware intégré, il vous suffit de l'ajouter au tableau $routeMiddleware. Dans le fichier appHttpKernel.php, ce tableau peut être trouvé. Ce tableau contient tous les middlewares par défaut et chaque middleware est associé à une clé.
Par exemple, nous pouvons activer le middleware d'authentification en utilisant le nom de la clé d'authentification :
protected $routeMiddleware = [ 'auth' => IlluminateAuthMiddlewareAuthenticate::class, ];
Laravel prend également en charge le passage paramétré du middleware. Par exemple, si nous voulons utiliser throttle pour limiter l'accès des utilisateurs à 5 pages en 60 secondes, nous pouvons écrire :
protected $routeMiddleware = [ 'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class.':5,60', ];
Remarque : l'ordre des nombres ici est l'ordre inverse des paramètres du constructeur du middleware throttle. En effet, Laravel prend en charge la transmission de paramètres sous forme de chaînes.
Créer un middleware personnalisé
En plus d'utiliser un middleware prédéfini, Laravel prend également en charge la création de votre propre middleware. Voyons comment créer et utiliser un middleware personnalisé.
Pour démontrer cela, nous allons créer un middleware personnalisé appelé MyMiddleware. Ce middleware n'a besoin que de générer le texte avant que la demande ne soit traitée.
Tout d'abord, nous devons créer une classe middleware via la commande artisan :
php artisan make:middleware MyMiddleware
Ensuite, nous devons ouvrir le fichier app/Http/Middleware/MyMiddleware.php et écrire notre logique middleware dans la méthode handle :
<?php namespace AppHttpMiddleware; use Closure; class MyMiddleware { public function handle($request, Closure $next) { echo "My middleware is working!"; return $next($request); } }
In Dans cet exemple, il suffit de sortir un texte avant de traiter la requête. Ce texte peut être n'importe quoi, par exemple vous pouvez afficher des informations de débogage, des journaux ou des messages d'erreur, etc.
Après avoir écrit notre Middleware, nous devons l'enregistrer auprès de l'application Laravel. Dans le fichier app/Http/Kernel.php, nous pouvons ajouter le nom de notre classe middleware au tableau $routeMiddleware. Cela rendra le middleware disponible pour les routes et les contrôleurs.
protected $routeMiddleware = [ 'mymiddleware' => AppHttpMiddlewareMyMiddleware::class, ];
Remarque : Comme vous pouvez le voir, nous utilisons le nom de la classe MyMiddleware comme nom de clé à utiliser ultérieurement dans les routes et les contrôleurs.
Pour utiliser ce nouveau middleware, ajoutez-le simplement au tableau middleware comme d'habitude. Dans notre cas, nous pouvons ajouter ceci aux routes du site :
Route::middleware(['mymiddleware'])->group(function () { // Your routes here });
Désormais, lorsque nous recevons une demande de notre application, notre middleware sera appelé en premier, avant le traitement de la demande.
Résumé
Dans cet article, nous avons discuté des bases du middleware dans Laravel et démontré comment utiliser le middleware intégré de Laravel et comment créer et utiliser un middleware personnalisé. Ceci n'est qu'un exemple simple, la notion de middleware est très importante, ils peuvent être utilisés pour résoudre de nombreux problèmes complexes de gestion des requêtes HTTP. Par conséquent, apprendre à utiliser le Middleware est une étape très importante dans le processus de développement de 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!