有没有办法,而不是显示模板 404 页面,有一个事件,当它找不到控制器或模块时,做一个动作,比如重定向?
问问题
461 次
1 回答
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...
}
于 2013-10-01T12:57:00.860 回答