Table des matières
À quoi sert le middleware de Laravel ?
Maison cadre php Laravel A quoi sert le middleware Laravel ?

A quoi sert le middleware Laravel ?

Apr 07, 2022 pm 04:54 PM
laravel

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.

A quoi sert le middleware Laravel ?

L'environnement d'exploitation de cet article : système Windows 10, Laravel version 6, ordinateur Dell G3.

À quoi sert le middleware de Laravel ?

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 就是你要创建的中间件的名字
Copier après la connexion

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);
    }
}
Copier après la connexion

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);
    }
}
Copier après la connexion

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

A quoi sert le middleware Laravel ?

[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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel - Commandes artisanales Laravel - Commandes artisanales Aug 27, 2024 am 10:51 AM

Laravel - Artisan Commands - Laravel 5.7 est livré avec une nouvelle façon de traiter et de tester de nouvelles commandes. Il inclut une nouvelle fonctionnalité de test des commandes artisanales et la démonstration est mentionnée ci-dessous ?

Laravel - Personnalisations de la pagination Laravel - Personnalisations de la pagination Aug 27, 2024 am 10:51 AM

Laravel - Personnalisations de pagination - Laravel inclut une fonctionnalité de pagination qui aide un utilisateur ou un développeur à inclure une fonctionnalité de pagination. Le paginateur Laravel est intégré au générateur de requêtes et à Eloquent ORM. La méthode paginate automatique

Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Apr 01, 2025 pm 02:45 PM

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? Mar 31, 2025 pm 11:24 PM

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Mar 31, 2025 pm 11:48 PM

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Apr 01, 2025 am 07:09 AM

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Serveur de vidage Laravel - Serveur de vidage Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Apr 01, 2025 am 07:45 AM

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

See all articles