Question

C’est ma première expérience d’utilisation du Zend Framework. J'essaie de suivre le tutoriel Démarrage rapide . Tout fonctionnait comme prévu jusqu'à ce que j'atteigne la section Contrôleur d’erreur et vue . Lorsque je navigue vers une page qui n'existe pas, au lieu de recevoir la page d'erreur, je reçois le vidage d'écran Erreur fatale (dans toute sa splendeur):

  

Erreur fatale: exception non capturée 'Zend_Controller_Dispatcher_Exception'   avec le message 'Contrôleur non valide spécifié (erreur)' dans   /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Dispatcher/Standard.php:249   Trace de pile: # 0   /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Front.php(946):   Zend_Controller_Dispatcher_Standard- > dispatch (Object (Zend_Controller_Request_Http),   Object (Zend_Controller_Response_Http)) # 1   /home/.fantasia/bcnewman/foo.com/public/index.php(42):   Zend_Controller_Front- > dispatch () # 2 {principal} jeté   /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Dispatcher/Standard.php   à la ligne 249

Je ne crois pas que cela soit dû à une erreur de syntaxe de ma part (copie du contenu du fichier d'exemple copié et collé dans le tutoriel) et je pense que la structure du répertoire de l'application est correcte:

./application
./application/controllers
./application/controllers/IndexController.php
./application/controllers/ErrorHandler.php
./application/views
./application/views/scripts
./application/views/scripts/index
./application/views/scripts/index/index.phtml
./application/views/scripts/error
./application/views/scripts/error/error.phtml
./application/bootstrap.php
./public
./public/index.php

Enfin, les vues IndexController et index.phtml fonctionnent.

Était-ce utile?

La solution

Vous avez ErrorHandler.php. Ce devrait être ErrorController.php. Les contrôleurs doivent tous être nommés en respectant le format NameController.php. Comme vous ne l'avez pas nommé correctement, le répartiteur ne le trouve pas.

Autres conseils

En supposant que le plug-in ErrorController soit chargé dans votre contrôleur frontal, assurez-vous que, dans votre bootstrap, vous n'avez pas défini l'ensemble suivant:

$frontController->throwExceptions(true);

Si cette option est définie, les exceptions toujours seront levées, que vous ayez ou non un contrôleur d'erreur défini.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top