Maison  >  Article  >  cadre php  >  Que dois-je faire si thinkphp ne parvient pas à charger le contrôleur ?

Que dois-je faire si thinkphp ne parvient pas à charger le contrôleur ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-08-22 14:38:275419parcourir

Que dois-je faire si thinkphp ne parvient pas à charger le contrôleur ?

Que dois-je faire si ThinkPHP3.2 ne parvient pas à charger le contrôleur ?

Lors de la mise à niveau de ThinkPHP3.1.3 vers ThinkPHP3.2.3, même si la vue, le mode et le contrôleur étaient placés dans le répertoire spécifié, il y avait toujours un problème : le contrôleur ne pouvait pas être chargé après quelques instants. recherche, il a été constaté que le principal Cela peut être causé par plusieurs raisons.

(1) APP_USE_NAMESPACE (si l'espace de noms doit être utilisé) : lorsqu'il est défini sur false, si l'espace de noms est utilisé lors de la définition du contrôleur, le contrôleur ne sera pas chargé. Dans ce cas, définissez simplement le paramètre sur true . Peut être défini dans ThinkPHP/Common/Conf/convention.php.

Recommandations associées : "Tutoriel ThinkPHP"

(2) ACTION_BIND_CLASS (si les méthodes et les classes doivent être liées) : lorsqu'elle est définie sur false, la structure du dossier Controller doit Le nom de Controller/View est Controller.class.php, et les méthodes sont écrites une par une dans la classe ; mais lorsqu'elle est définie sur true, la structure du dossier Controller doit être Controller/View name/method.class.php, avec une classe correspondant à une méthode.

(3) MODULE_ALLOW_LIST (autorise l'accès aux modules) et MODULE_DENY_LIST (refuse l'accès aux modules) : lorsqu'un module est configuré pour interdire l'accès ou n'est pas défini dans la liste d'accès autorisé, toutes les pages sous le module ne peuvent pas être accessible normalement.

(4) URL_MODEL (mode d'accès URL) : Lorsqu'il n'est pas 0, si vous utilisez la méthode U pour appeler les méthodes des autres contrôleurs sous le module, vous devez définir le module en définissant BIND_MODULE, sinon le module actuel ne peut pas être reconnu.

(5) La définition du contrôleur est erronée : l'espace de noms doit être défini dans la première ligne sans commentaire du contrôleur, et lors de la définition du contrôleur, faites attention à l'orthographe du nom de la classe et si le Le contrôleur extends existe, souvent parce que ce petit problème a entraîné l'inaccessibilité au contrôleur.

(6) BIND_MODULE (module de liaison) : si le module est lié dans le fichier d'entrée, le module ne peut pas être inclus dans le chemin, sinon le contrôleur n'est pas accessible.

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