Maison cadre php Laravel Qu'est-ce que le middleware à Laravel? Comment l'utiliser?

Qu'est-ce que le middleware à Laravel? Comment l'utiliser?

May 29, 2025 pm 09:27 PM
laravel cad outil red

Le middleware est un mécanisme de filtrage dans Laravel qui est utilisé pour intercepter et traiter les demandes HTTP. Utilisez les étapes: 1. Créez du middleware: utilisez la commande "PHP Artisan Make: Middleware Checkrole". 2. Définir la logique de traitement: écrire une logique spécifique dans le fichier généré. 3. Enregistrez Middleware: Ajoutez du middleware dans kernel.php. 4. Utilisez du middleware: appliquez le middleware dans la définition de routage.

Qu'est-ce que le middleware à Laravel? Comment l'utiliser?

Qu'est-ce que le middleware à Laravel? Comment l'utiliser?

Dans Laravel, le middleware est un mécanisme de filtrage qui peut être utilisé pour intercepter les demandes HTTP et les traiter avant d'atteindre la logique de base de l'application. Le middleware peut être utilisé dans divers scénarios, tels que la vérification de l'identité de l'utilisateur, l'enregistrement des journaux, la modification des demandes et les données de réponse, etc. L'utilisation de middleware peut nous aider à mieux gérer notre code et à améliorer la maintenabilité et l'évolutivité de nos applications.

Maintenant, faisons une plongée profonde dans la façon d'utiliser des middleware à Laravel et partagez certaines de mes expériences à cet égard.

Tout d'abord, le rôle du middleware dans Laravel n'est pas seulement de simplement traiter les demandes, il peut également nous aider à implémenter une logique plus complexe, telle que le contrôle de l'autorisation, la vérification des données, etc. J'ai utilisé pour utiliser Middleware dans un projet pour implémenter la gestion des autorisations de rôle utilisateur, ce qui a considérablement simplifié la logique de code dans le contrôleur.

Pour créer un middleware, nous pouvons utiliser l'outil de ligne de commande Artisan:

 PHP Artisan Make: Middleware Checkrole

Cette commande générera un nouveau fichier middleware CheckRole.php dans app/Http/Middleware . Dans ce fichier, nous pouvons définir la logique de traitement spécifique:

 namespace app \ http \ middleware;

Utiliser la fermeture;
Utiliser illuminate \ http \ request;
Utiliser illuminate \ support \ FACADES \ Auth;

CLASS CHECKROLE
{
    Poignée de la fonction publique (demande $ demande, fermeture $ suivant, ... $ rôles)
    {
        if (! Auth :: check ()) {
            return redirirect ('ligin');
        }

        $ user = auth :: user ();

        foreach ($ rôles comme $ role) {
            if ($ user-> hasrole ($ role)) {
                retourner $ suivant ($ demande);
            }
        }

        Réponse de retour («non autorisée», 403);
    }
}

Dans cet exemple, nous définissons un middleware CheckRole qui vérifie si l'utilisateur a un rôle spécifié. Si l'utilisateur n'est pas connecté ou n'a pas de rôle spécifié, le middleware renvoie la réponse correspondante.

Il est également très simple d'enregistrer middleware dans l'application, nous devons l'ajouter dans app/Http/Kernel.php :

 protégé $ routeMiddleware = [
    // ... autre middleware 'role' => \ app \ http \ middleware \ checkRole :: class,
]]

Ensuite, nous pouvons utiliser ce middleware dans la définition de routage:

 Route :: get ('/ admin', function () {
    // Seuls les utilisateurs avec le rôle 'Admin' peuvent accéder à cette route}) -> middleware ('Role: Admin');

Il y a quelques éléments à noter lors de l'utilisation de middleware:

  • Performances: le middleware est exécuté dans les premiers stades du traitement des demandes, il est donc nécessaire de s'assurer que la logique du middleware n'a pas beaucoup d'impact sur les performances de l'application. J'avais l'habitude de travailler dans un projet parce que la logique du middleware était trop complexe, ce qui a conduit à une augmentation significative du temps de réponse de l'application. Plus tard, j'ai résolu ce problème en optimisant la stratégie de logique et de cache du middleware.
  • Ordre: l'ordre d'exécution du middleware affectera les résultats du traitement de la demande. Dans le fichier Kernel.php , nous pouvons définir l'ordre d'exécution du middleware, ce qui est très important lors de la gestion des dépendances.
  • Tests: Pendant le processus de développement, n'oubliez pas d'écrire des tests unitaires pour le middleware, afin que la logique du middleware puisse fonctionner correctement dans toutes les situations. J'écris généralement au moins un cas de test pour chaque middleware pour s'assurer que sa fonctionnalité est correcte.

Dans les projets réels, j'ai constaté qu'un malentendu commun du middleware est de l'utiliser pour un traitement logique métier trop complexe. Le middleware doit être maintenu léger et axé sur le filtrage et le prétraitement des demandes. Si la logique est trop complexe, il est recommandé de le diviser en plusieurs middleware ou d'envisager de déplacer sa logique dans un contrôleur ou une classe de service.

Dans l'ensemble, le middleware de Laravel est un outil très puissant qui peut nous aider à mieux gérer et traiter les demandes HTTP. Pendant l'utilisation, n'oubliez pas de garder le middleware concis et efficace, et assurez-vous de l'exactitude grâce à des tests. En utilisant le middleware rationnellement, nous pouvons considérablement améliorer la maintenabilité et l'évolutivité de nos applications.

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

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)

Sujets chauds

Comment modifier l'image d'arrière-plan lors de la connexion dans Win10? Comment modifier l'image d'arrière-plan lors de la connexion dans Win10? Sep 26, 2025 pm 01:18 PM

Les étapes spécifiques pour remplacer l'image d'arrière-plan de l'interface de connexion dans le système Win10 sont les suivantes: le remplacement de l'image d'arrière-plan de l'interface de connexion nécessite certains ajustements aux fichiers système. Il peut être divisé en les deux étapes suivantes: La première étape: générer un fichier nommé windows.ui.logon.pri. Les étapes spécifiques pour générer le fichier sont: Téléchargez l'outil PowerShell et décompressez le fichier après le téléchargement. Après décompression, vous obtiendrez un fichier nommé Login.PS1 et l'enregistrerez sur votre bureau. Préparez une image que vous souhaitez utiliser comme arrière-plan de l'interface de connexion et placez-la sur le bureau, comme le nom Gezila.jpg. Cliquez avec le bouton droit sur le fichier login.ps1 que vous venez d'enregistrer sur le bureau et sélectionnez "Modifier". Cela ouvrira PowerShel

Dix ans de travail acharné pour que les systèmes intérieurs fonctionnent en douceur les applications Windows Dix ans de travail acharné pour que les systèmes intérieurs fonctionnent en douceur les applications Windows Sep 26, 2025 pm 01:24 PM

Dans l'article précédent "Après avoir fait le tour, j'ai recommencé à étudier à nouveau Windows Systems", il a analysé que Microsoft est profondément engagé dans Windows depuis de nombreuses années et a longtemps construit un fossé solide qui ne peut pas être brisé. Même sous la marée de la substitution domestique, nous ne pouvons toujours pas nous passer des applications Windows. Afin de faire fonctionner les applications Windows sur des systèmes domestiques, il existe de nombreuses solutions et la solution la plus courante est le vin. What Is Winewine est un projet open source qui réimplique certaines des fonctionnalités du système d'exploitation Windows de Microsoft au-dessus de diverses variantes Unix. Le vin s'adresse principalement à Linux et à MacOS, mais peut également fonctionner sur FreeBSD, NetBSD, et donc

Est-il nécessaire d'installer la bibliothèque d'exécution du jeu pour les ordinateurs Win10? Est-il nécessaire d'installer la bibliothèque d'exécution du jeu pour les ordinateurs Win10? Sep 26, 2025 pm 01:36 PM

Un ordinateur Win10 doit-il installer une bibliothèque d'exécution de jeux? En fait, le rôle de la bibliothèque d'exécution du jeu ne se limite pas à se refléter lors de la lecture de jeux. Certains logiciels de bureau peuvent également s'appuyer sur des composants de la bibliothèque d'exécution du jeu pour assurer un fonctionnement normal. Ensuite, l'éditeur présentera en détail le contenu pertinent de la bibliothèque d'exécution du jeu. Quel contenu contient la bibliothèque d'exécution du jeu? Microsoft VisualC (appelé VisualC, MSVC, VS ou VC) est un outil de développement C lancé par Microsoft. Il a un environnement de développement intégré et peut modifier les langages de programmation tels que le langage C, C et C / CLI. VC fournit des outils de débogage pratiques et intègre l'interface du programme d'application du système d'exploitation Microsoft Windows Windows (Windows

Le correctif Win10 ne peut pas être mis à jour. La solution au correctif Win10 n'a toujours pas réussi à mettre à jour. Le correctif Win10 ne peut pas être mis à jour. La solution au correctif Win10 n'a toujours pas réussi à mettre à jour. Sep 26, 2025 pm 01:42 PM

Que dois-je faire si la mise à jour du patch du système Win10 échoue? Win10 lancera régulièrement des mises à jour de correctifs et les utilisateurs peuvent choisir de télécharger automatiquement ou manuellement en fonction de leurs besoins. Cependant, certains utilisateurs ont souvent des problèmes lors de la mise à jour des correctifs sur leur système Win10. Alors, que devons-nous faire si la mise à jour du patch Win10 échoue? Ensuite, l'éditeur introduira la solution à l'échec de l'installation de Win10 Patch. Les étapes de la solution sont les suivantes: Méthode 1: Vérifiez si le service de mise à jour s'exécute normalement. 1. Appuyez sur la combinaison de touches "Windows R" et entrez "Services.MSC" pour ouvrir la fenêtre de service. 2. Assurer un service de service et de cryptographie

Quelles sont les restrictions sur Surface Pro X Running Win10 sur ARM? Quelles sont les restrictions sur Surface Pro X Running Win10 sur ARM? Sep 28, 2025 am 10:57 AM

Il ne fait aucun doute que la dernière surfaceprox de Microsoft est un produit remarquable, et le site officiel de Microsoft en Chine a ouvert le canal de réservation pour cet appareil. Cependant, il y a des points clés auxquels il y a une attention avant de décider d'acheter cet appareil. L'appareil est livré avec un processeur personnalisé Microsoft SQ1, ce qui signifie que vous pouvez rencontrer certains problèmes et limitations lors de l'exécution du système d'exploitation Windows 10Onarm. Récemment, Microsoft a officiellement publié un nouveau document d'assistance détaillant les problèmes de compatibilité possibles lors de l'utilisation du processeur Windows 10Onarm. L'article a mentionné de nombreux problèmes dans les conducteurs, les imprimantes, les jeux, etc., et a souligné qu'il n'est conçu que pour Windows 10Onar

L'application Xiaohongshu Qianfan est-elle facile à utiliser? Expérience utilisateur et évaluation des fonctions de l'application Xiaohongshu Qianfan L'application Xiaohongshu Qianfan est-elle facile à utiliser? Expérience utilisateur et évaluation des fonctions de l'application Xiaohongshu Qianfan Sep 29, 2025 pm 12:03 PM

L'application Xiaohongshu Qianfan fournit des fonctions telles que la gestion des commandes de produits, la bibliothèque vocale du service client, la version chronométrée du contenu, l'expédition automatique des produits virtuels et l'allocation d'autorisation de sous-compte et prend en charge un fonctionnement mobile efficace; Cependant, certains utilisateurs ont signalé des problèmes de performances tels que le retard dans le téléchargement des photos et l'envoi de messages retardés. Il est recommandé d'utiliser et de tenir l'application à jour dans un environnement Wi-Fi pour améliorer l'expérience.

Pourquoi je n'ai pas xiaohongshu qianfan app_instructions sur les autorisations de l'application xiaohongshu qianfan Pourquoi je n'ai pas xiaohongshu qianfan app_instructions sur les autorisations de l'application xiaohongshu qianfan Sep 29, 2025 pm 12:18 PM

Vous devez d'abord terminer la certification de compte d'entreprise ou de compte professionnel et ouvrir un magasin pour vous assurer que le compte n'est pas violé et se conforme à l'accès à l'industrie, puis mettre à jour l'application vers la dernière version pour trouver l'entrée.

Framework informatique en temps réel qui peut voyager dans le temps et l'espace - le traitement du temps de Fink Framework informatique en temps réel qui peut voyager dans le temps et l'espace - le traitement du temps de Fink Sep 28, 2025 am 11:06 AM

Flink est très important pour l'architecture de traitement des flux. Kafka donne aux messages la possibilité de persister, et la capacité de traiter les données et même les voyages dans le temps dépend de Flink. Dans le streaming - l'avenir du Big Data, nous savons que les deux choses les plus importantes pour le traitement du streaming sont les outils de raisonnement exactivé et de temps. Et Flink a un très bon soutien pour les deux. Flink garantit l'exactitude. Pour les données continues des flux d'événements, car les événements peuvent ne pas être arrivés lorsque nous nous traitons, la correction des données peut être affectée. La pratique courante adopte désormais des calculs hors ligne de latence élevée pour assurer l'exactitude, mais sacrifie également la faible latence. L'exactitude de Flink se reflète dans la définition de la fenêtre de calcul en ligne avec la génération de données

See all articles