如何使Zend Framework错误页面看起来更清晰,更漂亮?

时间:2009-02-15 21:19:34

标签: php zend-framework

默认情况下,ZF中的错误页面如下所示:

Fatal error: Uncaught exception 'Zend_Form_Exception' with message 'Method setDeault does not exist' in /usr/home/.../library/Zend/Form.php:2838 
Stack trace: 
#0 [internal function]: Zend_Form->__call('setDeault', Array) 
#1 /usr/home/.../application/admin/controllers/TagsController.php(40): Web_Form_Admintags->setDeault('tagstext', '....') 
#2 /usr/home/.../library/Zend/

有没有办法将这个凌乱的错误描述改为更清晰的形式(类似于Django错误页面)?

3 个答案:

答案 0 :(得分:1)

这不是错误页面,而是未捕获异常的标准PHP输出。据我所知,Zend Framework中没有默认的错误页面 - 您必须通过为ErrorController创建适当的视图来创建自己的错误页面。

答案 1 :(得分:1)

AFAICR这是使用错误控制器吗?该消息基本上是exception object的转储。您可以通过单独调用不同的部分而不是将整个部分转换为字符串来拆分它。请参阅我链接到的手册页。

确保在APPLICATION_ENVIRONMENT设置为development时,您只提供例外信息。

答案 2 :(得分:0)

使用新行格式化异常,但是在html中没有转换为
。 你有几个选择...

  1. 使用<pre></pre>标记
  2. 包装错误
  3. 创建自定义异常处理程序
  4. function exception_handler($exception) {
      echo "Uncaught exception: " , $exception->getMessage(), "\n";
    }
    
    set_exception_handler('exception_handler');