Zend 框架 - ErrorHandler 似乎没有按预期工作

Posted

技术标签:

【中文标题】Zend 框架 - ErrorHandler 似乎没有按预期工作【英文标题】:Zend Framework - ErrorHandler does not seem to be working as expected 【发布时间】:2008-09-18 00:30:04 【问题描述】:

这是我第一次使用 Zend 框架。我正在尝试遵循Quick Start 教程。在我到达Error Controller and View 部分之前,一切都按预期工作。当我导航到一个不存在的页面时,我没有收到错误页面,而是得到了致命错误屏幕转储(这很荣耀):

致命错误:未捕获的异常“Zend_Controller_Dispatcher_Exception” 带有消息“指定的控制器无效(错误)” /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Dispatcher/Standard.php:249 堆栈跟踪:#0 /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), 对象(Zend_Controller_Response_Http))#1 /home/.fantasia/bcnewman/foo.com/public/index.php(42): Zend_Controller_Front->dispatch() #2 main 抛出 /home/.fantasia/bcnewman/foo.com/library/Zend/Controller/Dispatcher/Standard.php 在第 249 行

我不认为这是由我的语法错误引起的(从教程中复制并粘贴了示例文件的内容),我相信我的应用程序目录结构正确:

./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

最后,IndexControllerindex.phtml 视图确实有效。

【问题讨论】:

【参考方案1】:

你有 ErrorHandler.php。它应该是 ErrorController.php。控制器都需要按照 NameController.php 的格式命名。由于您没有正确命名它,因此调度程序无法找到它。

【讨论】:

【参考方案2】:

假设您已将 ErrorController 插件加载到前端控制器中,请确保在引导程序中您没有以下设置:

$frontController->throwExceptions(true);

如果设置了此项,那么将总是抛出异常,无论您是否设置了错误控制器。

【讨论】:

和 OP 有同样的问题,这是我的问题。谢谢!忘了我把它放在那里了。

以上是关于Zend 框架 - ErrorHandler 似乎没有按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

Zend 框架,视图

Zend 框架和 WordPress 集成

Zend 框架数据访问层 (DAL)

Zend 框架:View Partials 和 Helpers 之间的区别

Zend可重用的小部件/插件/ miniapplications?

如何在不安装 Zend 框架的情况下使用 Zend 库