渲染开始时,我的控制器代码已经运行。如果视图脚本中存在错误,则通常会导致页面呈现空或半渲染。我检查了代码,没有订阅的事件,PHPRenderer只是重新抛出异常:
try {
ob_start();
include $this->__file;
$this->__content = ob_get_clean();
} catch (\Exception $ex) {
ob_end_clean();
throw $ex;
}
对于控制器,有一个'dispatch.error'事件,但这不起作用。有没有办法捕获这些渲染错误并正确记录/显示错误?
答案 0 :(得分:2)
您可以将侦听器附加到“render.error”事件。请参阅http://framework.zend.com/manual/2.1/en/modules/zend.mvc.mvc-event.html。
答案 1 :(得分:1)
2.0.x分支中没有这样的东西。 对于2.1.x分支,请看另一个答案。
无论如何,没有这样的事件你可以使用。但我认为你不需要它。您不应该在视图中出现错误,因为视图仅用于显示内容,而不用于业务逻辑。所以我想说你需要修复你的观点,而不是找到一种方法来捕捉这些异常。
对于错误日志,您可以检查apache日志。