没有匹配事件派发错误请求的路由

时间:2017-09-02 23:19:16

标签: php zend-framework2 zend-framework3

我想在应用程序模块引导程序中设置错误重定向。

以下是将handleError function附加到事件管理器的代码:

$em->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH_ERROR, array($this,'handleError'));

以下是handleError类中的Application\Module方法。

public function handleError(MvcEvent $e)
{
    // error here is error-router-no-match
    // echo $e->getError();
}       

从这段代码中,我想添加一个子句来执行重定向到路由application.index.errorApplication\Controller\IndexControllererrorAction

我面临的问题是无法告知请求何时来自错误句柄重定向,因此会发生无限循环。

此外,

这失败了,因为目前没有匹配:

 $router = $sm->get('router');
 $request = $sm->get('request');
 $matchedRoute = $router->match($request);
 $params = $matchedRoute->getParams();

没有路由匹配时,我如何在handleError方法内确定请求实际来自错误处理程序请求?如果我需要将router修改为确保找到路线匹配。

0 个答案:

没有答案