Dans Laravel, le rôle du middleware est de filtrer les requêtes HTTP et d'effectuer différentes opérations logiques en fonction de différentes requêtes ; le middleware peut intercepter et inspecter les données de la requête, et effectuer un traitement logique pour déterminer s'il faut autoriser l'entrée au prochain middleware.
L'environnement d'exploitation de cet article : système Windows 10, Laravel version 6, ordinateur Dell G3.
Le middleware, comme son nom l'indique, intercepte et traite les données des requêtes, vérifie les données entre les requêtes et les réponses et effectue un traitement logique pour déterminer s'il faut autoriser l'entrée au middleware suivant ; into Il s'agit du middleware de préfixe et du post-middleware, il peut être utilisé pour l'authentification des autorisations, la journalisation, etc.
Pour faire simple, le rôle du middleware dans Laravel est de filtrer les requêtes HTTP et d'effectuer différentes opérations logiques basées sur différentes requêtes.
Nous pouvons réaliser les fonctions suivantes grâce au middleware :
Spécifier certaines routes
Définir les en-têtes de réponse HTTP
Enregistrer les requêtes
Filtrer les paramètres de la requête
Décidez si activer le mode de maintenance du site
Effectuez certaines opérations nécessaires avant et après avoir répondu
Middleware personnalisé
Exécutez la commande simple suivante sur la ligne de commande pour créer facilement un nouveau middleware
php artisan make:middleware <MiddlewareName> //MiddlewareName 就是你要创建的中间件的名字
Exécutez la commande ci-dessus, Laravel créera automatiquement un middleware contenant uniquement la méthode handle dans le répertoire app/Http/Middleware.
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { return $next($request); } }
Lorsque le middleware est appelé, la méthode handle sera exécutée. Ce qu'il faut noter ici, c'est que la méthode handle a deux paramètres par défaut $request et $next. $request est utilisé pour accepter le groupe de requêtes de l'application et $next transmet la requête à l'application. Ces deux paramètres sont essentiels pour le manche ! Le middleware comprend également le pré-middleware et le post-middleware.
« Premiddleware », comme son nom l'indique, gère une certaine logique avant de transmettre la requête à l'application. Le middleware After, en revanche, s'exécute une fois que l'application a traité la demande et généré la réponse.
Front middleware :
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { //你的逻辑就在这里 return $next($request); } }
Post middleware :
<?php namespace App\Http\Middleware; use Closure; class RedirectIfSuperAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $response = $next($request); //你的逻辑就在这里 例如 重定向到 `/` return $response; } }
[Recommandations associées : tutoriel 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!