我的服务和模型层经常抛出Exception\loginRequired()
和Exception\incorrectUser()
。我想抓住这些,并在适当的情况下,将用户重定向到登录页面,原始URI及其参数附加到GET字符串。成功登录后,我会将用户重定向到原始请求。
我在我的模块类中设置了一个函数,可以处理调度异常,但我的问题是,如何访问异常?
public function onBootstrap(MvcEvent $e)
{
// initialise the event manager
...
// catch exceptions
$eventManager->attach('dispatch.error', function ($e) {
// How to access the exception here?
});
}
我需要能够访问异常来测试它的类型。
我已经检查了MVC模块,事件管理器和Response对象,虽然我可以找到对getError()的引用,但它们返回字符串而不是异常。我如何获得例外?
我在这个主题上看到了一些问题,但是他们使用的是ZfcUser模块,我不是。
答案 0 :(得分:2)
因此,在查看Zend \ Mvc \ View \ Http \ ExceptionStrategy之后,我发现该异常可用作MvcEvent的参数,可通过$e->getParam('exception');