Zend Framework - ErrorHandler no parece estar funcionando como se esperaba
-
01-07-2019 - |
Pregunta
Esta es mi primera experiencia con el Zend Framework.Estoy intentando seguir el De Inicio Rápido tutorial.Todo estaba funcionando como se esperaba hasta que he llegado a la sección en la Error de Controlador y la Vista.Cuando me vaya a una página que no existe, en lugar de recibir la página de error me sale el Fatal Error de volcado de pantalla (en toda su gloria):
Fatal error:Uncaught exception 'Zend_Controller_Dispatcher_Exception' con el mensaje " Invalid controlador especificado (error)' en /home/.fantasia/bcnewman/foo.com/biblioteca/Zend/Controlador/Distribuidor/Estándar.php:249 Seguimiento de la pila:#0 /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Front.php(946):Zend_Controller_Dispatcher_Standard->dispatch(Objeto(Zend_Controller_Request_Http), Objeto(Zend_Controller_Response_Http)) #1 /home/.fantasia/bcnewman/foo.com/public/index.php(42):Zend_Controller_Front->dispatch() #2 {main} lanzado en /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Dispatcher/Standard.php en la línea de 249
No creo que esto es causado por un error de sintaxis en mi parte (un copiado y pegado el archivo de ejemplo del contenido del tutorial) y creo que tengo la estructura de directorio de aplicación correcta:
./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
Y, finalmente, la IndexController
y index.phtml
la vista no funciona.
Solución
Usted tiene ErrorHandler.php.Debe ser ErrorController.php.Controladores necesitan ser nombrados siguiendo el formato de NameController.php.Puesto que usted no tiene que nombran correctamente el despachador puede encontrar.
Otros consejos
Asumiendo que usted tiene la ErrorController plugin cargado en el controlador frontal, asegúrese de que en su arranque que usted no tiene el siguiente conjunto:
$frontController->throwExceptions(true);
Si se establece a continuación, las Excepciones siempre ser lanzado, independientemente de si o no usted tiene un error de configuración del controlador.