路由到控制器中的索引

时间:2013-10-20 13:07:13

标签: php routing zend-framework2

我想在我的控制器中路由回索引('/')。我该怎么做,我尝试了以下内容:

public function randomAction()
{
  return $this->redirect()->toRoute('/');
}

但是有了这个,我得到以下错误:

  

找不到名称“”的路线

为什么会发生这种情况的任何想法,以及我如何正确地回到索引?我可以使用/application,但我不希望它出现在地址栏中。在这种情况下,我唯一的选择是toUrl('/')吗?

2 个答案:

答案 0 :(得分:1)

例如,在the skeleton application上,尝试路线主页

public function randomAction()
{
  return $this->redirect()->toRoute('home');
}

ZF2 Docs

toRoute($ route,array $ params = array(),array $ options = array()):使用提供的$ params和$ options重定向到命名路由,以组合URL。

答案 1 :(得分:1)

您需要将路线名称传递给toRoute,而不是实际路线。

如果您使用的是ZF Skeleton Application,那么“index”路由将被称为home,因此您需要执行以下操作:

return $this->redirect()->toRoute('home');

如果没有打开模块配置并找到routes阵列。路由的名称是此数组中指向路由配置的键。