如何确定zf2中的当前路由和参数

时间:2015-01-20 17:40:50

标签: redirect routes zend-framework2

在我正在开发的表单中,如果按下名为“reset”的提交按钮,我想放弃更改并重定向到相同的路由。以下代码用于确定当前URL和自重定向:

$hereandnow = $this->getRequest()->getRequestUri();
return $this->redirect()->toUrl($hereandnow);

我想使用路线方法做同样的事情:

return $this->redirect()->toRoute($current_route, $current_params);
     // OR
return $this->redirect()->toRoute($current_route_including_params);

但是,这需要确定当前路线和参数。我怎么能这样做?

1 个答案:

答案 0 :(得分:5)

要回答您的问题,当前匹配的路由名称可在MVC事件中的控制器中使用:

$this->getEvent()->getRouteMatch()->getMatchedRouteName();

匹配的路线参数:

$this->getEvent()->getRouteMatch()->getParams();

但是,您可以更简单的方式重定向到相同的URL(刷新页面):

return $this->redirect()->refresh();