Qu'est-ce qu'un middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

不言
Libérer: 2023-04-03 07:06:02
original
3267 Les gens l'ont consulté

Qu'est-ce que le middleware ? Écoutez Maître Mieke parler du middleware laravel (photo)

Cet article présente principalement ce qu'est le middleware ? J'ai entendu Miajueshi Taiqu parler du middleware laravel (photo), qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Qu'est-ce qu'un middleware ? Comme son nom l'indique, le middleware est le middleware, la couche intermédiaire, qui filtre certaines requêtes, comme une simple vérification de jeton ; l'article suivant explique en détail les méthodes et techniques de définition du middleware et d'enregistrement du middleware dans Laravel.

1. Définir le middleware

marqué laravel peut être défini directement dans la commande

php artisan make:middleware CheckToken

De cette façon c'est créé Il existe une classe middleware appelée CheckToken. Cette classe se trouve dans le répertoire /app/Http/Middleware :

Quest-ce quun middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

Après avoir cliqué dessus, le code ressemblera à ceci :

Quest-ce quun middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

Ensuite, vous pouvez y écrire quelque chose :

public function handle($request, Closure $next)
{
    if($request->input('token')!='minxintoken'){
        return redirect()->to('http://www.baidu.com');
    }
    return $next($request);
}
Copier après la connexion

La signification est évidente si le champ « jeton » dans les données envoyées n'est pas. égal à minxintoken, il sautera automatiquement. Allez sur http://www.baidu.com

Bien sûr, nous n'avons créé jusqu'à présent qu'un middleware appelé CheckToken, mais il n'a pas été activé pour commencer ; maintenant ;

2. S'inscrire La soi-disant activation du middleware

consiste à enregistrer ce middleware dans l'itinéraire spécifié

Il existe deux types d'enregistrement, le middleware global ; et le middleware de route spécifié,

1 . Middleware global :

Tant que le middleware correspondant est ajouté à l'attribut de tableau $middleware de app/Http/Kernel.php, tout ira bien : (CheckToken::class écrit directement dans le texte original ne fonctionnera pas. AppHttpCheckToken ne sera pas signalé. Existe, vous devez ajouter l'espace de noms de CheckToken.php pour obtenir le CheckToken correctement)

La bonne solution est la suivante suit :

Quest-ce quun middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

Entrez sample.test/about directement dans le navigateur. Il accédera directement à www.baidu.com, mais cela ne fonctionnera pas comme ceci :

Quest-ce quun middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

ok L'enregistrement global se termine ici. De manière générale, les paramètres globaux ne sont ni recommandés ni approuvés, car c'est vraiment ennuyeux d'apporter le token à chaque fois ; 2. Jetons ensuite un coup d'œil au middleware pour spécifier le routage,

Ce type de middleware, Tout d'abord, vous devez attribuer une clé au middleware dans app/Http/Kernel.php et l'ajouter à $routeMiddleware dans le fichier. Il contient déjà de nombreuses clés par défaut, ajoutez-en simplement une à la fin :

Après avoir ajouté la clé, accédez au fichier de routage et activez-le. Quest-ce quun middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

L'accès au navigateur a pour effet de saisir directement sample.test/ et il sera redirigé vers Baidu, et de saisir sample .test/?token=minxintoken pour accéder à la page d'accueil

Route::get('/','StaticPagesController@home')->middleware('token');
Copier après la connexion

Bien sûr, l'inconvénient est que vous devez taper une route pour l'utiliser, ce qui n'est pas normal. Une autre opération intéressante est qu'il y a un tableau appelé $middlewareGroups dans le noyau ; Fichier .php : Nous ajoutons le CheckToken que nous venons de créer dans le Web, Quest-ce quun middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

et ensuite toutes les choses dans /route/web.php nécessitent token=minxintoken pour y accéder ; Par exemple, sample.test/ sample.test/about sample.test/help, etc.; Quest-ce quun middleware ? Écoutez Miejieshi Taiqu parler du middleware Laravel (photo)

Ce qui précède est l'intégralité du contenu de cet article, J'espère qu'il sera utile à tout le monde pour apprendre davantage. , veuillez faire attention au site Web PHP chinois !

Cours recommandés :

Le dernier didacticiel vidéo pratique de Laravel Mall

Interprétation complète du framework Laravel et didacticiel vidéo pratique

Apprenez facilement Laravel - Bases

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal