Zend框架2找不到模板

时间:2013-10-01 12:44:28

标签: php zend-framework zend-framework2

有没有办法,而不是显示模板404页面,有一个事件,当它找不到控制器或模块,做一个动作,如重定向?

1 个答案:

答案 0 :(得分:2)

onBootstrap中的Module.php方法中,您可以附加要在事件发生时执行的函数,以下附加在引发错误(异常)时要执行的函数:

public function onBootstrap(MvcEvent $e)
{
    $application = $e->getApplication();
    $em = $application->getEventManager();
    //handle the dispatch error (exception) 
    $em->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH_ERROR, array($this, 'errorHandler'));
    //handle the view render error (exception) 
    $em->attach(\Zend\Mvc\MvcEvent::EVENT_RENDER_ERROR, array($this, 'errorHandler'));
}

然后定义函数以任何方式处理错误,以下是一个示例:

public function handleError(MvcEvent $e)
{
    //get the exception
    $exception = $e->getParam('exception');
    //...handle the exception... maybe log it and redirect to another page, 
    //or send an email that an exception occurred...
}