Comment gérer les opérations nulles et les contrôleurs nuls dans le framework ThinkPHP

little bottle
Libérer: 2023-04-06 10:54:01
avant
3587 Les gens l'ont consulté

Dans cet article, l'éditeur vous apprendra comment gérer les opérations vides et les contrôleurs vides dans le framework ThinkPHP. En bref, les opérations dites vides et les contrôleurs vides signifient que la méthode ou le contrôleur n'existe pas dans le. système, et ils provoqueront Le système a signalé une erreur. Les amis intéressés devraient venir le découvrir ensemble.

URL correcte (environnement de test) : http://oa.com/index.php/admin/public/login Accédez comme suit :

1 : Aucun traitement d'opération

Modifiez la méthode de connexion et l'erreur sera signalée comme suit :

Le système dispose par défaut d'un mécanisme de rapport d'erreurs intégré : 1. Mauvaise expérience utilisateur 2. Risques de sécurité sérieux.

Regardez le fichier du contrôleur de classe parent Controller.class.php et trouvez le code suivant :

Cela signifie que si la méthode appelée le fait not exist Mais si la méthode _empty() est définie, _empty() sera exécutée ou un fichier modèle portant le même nom que la méthode appelée sera affiché. Il est impossible de créer un modèle pour chaque méthode inconnue, nous utilisons donc ici la méthode _empty() pour gérer les opérations vides. Définissez la méthode _empty() dans le contrôleur Public comme suit :

Résultats d'exécution :

peuvent être transmis Un fichier modèle est introduit dans la méthode _empty() pour rendre la page plus belle. Ceci n'est qu'un test. Mais quand on a beaucoup de contrôleurs, il n'est pas raisonnable de définir un _empty() dans chaque contrôleur dans

. Dans ce cas, il peut être défini dans la classe parent Controller.class.php, et les sous-classes It. peut être utilisé comme suit :

Mais généralement le code dans la classe parent Controller.class.php ne sera pas modifié. Vous pouvez l'ajouter entre la classe enfant. et la classe parent. Un contrôleur intermédiaire est implémenté (voir l'article suivant pour plus de détails).

2. Traitement du contrôleur vide

Modifiez le nom du contrôleur en Publicu et l'erreur est la suivante :

Voir App.class.php et il y a le code suivant :

Vous pouvez donc créer un autre contrôleur EmptyController.class.php et build in _empty() Méthode pour accéder à ce contrôleur lorsque le contrôleur accédé n'existe pas.

Visitez à nouveau la page, comme suit :

Tutoriels associés : 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!

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