recherche
Maisoncadre phpLaravelDéveloppement Laravel : Comment utiliser le Middleware Laravel ?

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 :

  • auth : utilisé pour vérifier si l'utilisateur est connecté.
  • throttle : utilisé pour limiter le nombre de requêtes qu'un utilisateur peut effectuer dans un certain laps de temps.

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!

Déclaration
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 de gestion des tâches: prioriser et suivre les progrès dans les projets distantsOutils de gestion des tâches: prioriser et suivre les progrès dans les projets distantsMay 02, 2025 am 12:25 AM

TaskManagementToolsAreEssentialforeFeCiveRemoteProjectManagementByprioriTizingTasksAndTrackingProgress.1) UsetoolslikeTrelloandasanatoSetPriorités withLabelsOrtags.2) EmployTools LikejiraandMonday.comForvisualTrackingwithGantTucsandProgressBars.3)

Comment la dernière version de Laravel améliore-t-elle les performances?Comment la dernière version de Laravel améliore-t-elle les performances?May 02, 2025 am 12:24 AM

Laravel10enhances performancethroughseveralkeyfeatures.1) introduducesquerybuildercachingtoredatabaseload.2) itoptimiseseloquentmodelloadingwithlazyloadingproxies.3) itimproveSroutingwithewcachingsystem.4) itenhance

Stratégies de déploiement pour les applications de laravel à complexe completStratégies de déploiement pour les applications de laravel à complexe completMay 02, 2025 am 12:22 AM

Les meilleures stratégies de déploiement d'applications Laravel complètes comprennent: 1. Un déploiement de temps d'arrêt zéro, 2. Déploiement du bleu-vert, 3. Déploiement continu et 4. Canary Release. 1. Le déploiement de temps d'arrêt zéro utilise l'envoyé ou le déploiement pour automatiser le processus de déploiement pour garantir que les applications restent disponibles lorsqu'elles sont mises à jour. 2. Le déploiement bleu et vert permet le déploiement des temps d'arrêt en maintenant deux environnements et permet un retour rapide. 3. Déploiement continu automatiser l'intégralité du processus de déploiement via GitHubactions ou GitLabci / CD. 4. Canary rejette via la configuration Nginx, promouvant progressivement la nouvelle version aux utilisateurs pour assurer l'optimisation des performances et le retrait rapide.

Échelle d'une application de Laravel complète: meilleures pratiques et techniquesÉchelle d'une application de Laravel complète: meilleures pratiques et techniquesMay 02, 2025 am 12:22 AM

Toscalealaravelapplication efficace, focaledatabasesharding, cache, chargeur et microservices.1) mettant en œuvre un databaseshardingtodistributedataacrossmultipledatabases pour la performance. 2)

La lutte silencieuse: surmonter les barrières de communication dans les équipes distribuéesLa lutte silencieuse: surmonter les barrières de communication dans les équipes distribuéesMay 02, 2025 am 12:20 AM

Toovercome Communication BarriersInSiStributedTeams, Utilisation: 1) VideoCallsforface-to-faceteraction, 2) setClearResponSetimeExpectations, 3) ChooseAppropriateCommunicationTools, 4) CreateAteamCommunicationGuide, and5)

Utilisation de Laravel Blade pour les modèles de frontend dans des projets de file d'attenteUtilisation de Laravel Blade pour les modèles de frontend dans des projets de file d'attenteMay 01, 2025 am 12:24 AM

LaravelbladeenhancesfronttendTemplatingInfull-stackprojectsByOffreringCleanSyntaxandpowerfulfetures.1)

Construire une application complète avec Laravel: un tutoriel pratiqueConstruire une application complète avec Laravel: un tutoriel pratiqueMay 01, 2025 am 12:23 AM

LaravelisidealForfull-stackApplicationsduetoitselegantsyntax, comprehensivecosystem, andpowerfulfeatures.1) useeloquentormforIntivebackendDatamanipulation, butavoidn 1queryissues.2) employbladetetemplatforcleanfrontwiews, étant acautes overusing @ i i i

Quel type d'outils avez-vous utilisé pour le rôle distant pour rester connecté?Quel type d'outils avez-vous utilisé pour le rôle distant pour rester connecté?May 01, 2025 am 12:21 AM

Forremotework, iusezoomforvideocalls, slackformessaging, trelloforprojectmanagement, andgithubforcodecollaboration.1) zoomisreliableforlaremeetingsbuthastimelitsonthefreeversion.2) slackintegratewelwithother

See all articles

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP