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