0

渲染开始时,我的控制器代码已经运行。如果视图脚本中出现错误,通常会导致页面为空或半渲染。我检查了代码,没有订阅事件,PHPRenderer 只是重新抛出异常:

    try {
        ob_start();
        include $this->__file;
        $this->__content = ob_get_clean();
    } catch (\Exception $ex) {
        ob_end_clean();
        throw $ex;
    }

对于控制器,有一个“dispatch.error”事件,但这在这里不起作用。有没有办法捕捉这些渲染错误并正确记录/显示错误?

4

2 回答 2

2

您可以将侦听器附加到一个“render.error”事件。请参阅http://framework.zend.com/manual/2.1/en/modules/zend.mvc.mvc-event.html

于 2013-04-08T13:32:33.100 回答
1

2.0.x 分支中没有这样的东西。对于 2.1.x 分支,请查看其他答案。

无论如何,没有这样的事件可以使用。但我认为你不需要它。您不应该在视图中出现错误,因为视图仅用于显示事物,而不是用于业务逻辑。所以我想说你需要修复你的观点,而不是找到一种方法来捕捉这些异常。

至于错误日志,您可以检查 apache 日志。

于 2013-04-08T10:57:52.497 回答