Dans thinkphp, les fichiers de classe créés dans le répertoire "APPmiddleware" sont des middlewares, qui sont principalement utilisés pour intercepter ou filtrer les requêtes HTTP des applications et effectuer les traitements métier nécessaires. Ils peuvent être divisés en middleware global, middleware de routage et middleware de contrôle du serveur. .
L'environnement d'exploitation de cet article : système Windows 10, ThinkPHP version 5, ordinateur Dell G3.
1. Définition du fichier middleware
Les fichiers de classe créés dans le répertoire APPmiddleware sont tous des middlewares, des middlewares globaux, des middlewares de routage et des middlewares de contrôleur. chemins de répertoire. Plusieurs applications doivent créer un nouveau répertoire middleware dans leur propre répertoire d'application, puis créer des fichiers de classe ci-dessous.
Le middleware est principalement utilisé pour intercepter ou filtrer les requêtes HTTP des applications et effectuer les traitements métier nécessaires.
Définir le middleware : vous pouvez générer rapidement un middleware via les instructions de ligne de commande
php think make:middleware Check
Cette commande générera un middleware de vérification dans le répertoire application/http/middleware.
2. Référence ou utilisation du fichier middleware
Après avoir créé le fichier middleware en une seule étape
(1) Utilisez-le comme middleware global
Dans le fichier middleware.php du répertoire APP, Ajoutez un chemin et un fichier, tels que appmiddlewarechushimima::class, pour l'utiliser comme middleware global. Cela fonctionne à l’échelle mondiale.
Le middleware qui n'est pas enregistré dans middleware.php n'est pas un middleware global. Il est divisé en middleware de routage et middleware de contrôleur selon différentes méthodes de définition.
(2) Utiliser comme middleware de routage
Toujours le même fichier de classe middleware appmiddlewarechushimima Dans le fichier de définition de routage dans le répertoire de route sous le répertoire APP, ajoutez des règles de routage, telles que
Route::rule('index/denglu','index/denglu'); ->middleware('\app\middleware\chushimima');
C'est le middleware de routage, ne prend effet que lors de l'accès à cet itinéraire.
(3) Utiliser comme middleware de contrôleur
Toujours le même fichier de classe middleware appmiddlewarechushimima, ajoutez le code suivant dans votre fichier de contrôleur, tel que
class Index extends baseController { protected $middleware='\app\middleware\chushimima';
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!