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

How to determine current route and parameters in zf2

在我正在开发的表单中,如果按下名为“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);

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

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

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

匹配的路由参数:

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

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

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