Php 如何在zend framework 2中重定向到主页(默认页面)?

Php 如何在zend framework 2中重定向到主页(默认页面)?,php,zend-framework,zend-framework2,Php,Zend Framework,Zend Framework2,我在一个名为“身份验证”的模块中。成功登录此模块后,我希望我的用户重定向到主页(默认页面) 我试过下面的路线。但是没有起作用 $redirect = '/' ; //$redirect = '' ; //$redirect = null ; return $this->redirect()->toRoute($redirect); 它会生成以下错误 找不到名为“”的路由 回家路线没有在另一个模块中定义,我不知道。那么如何重定向到主页呢?如果您不知道您的主路线名称,您至少有两个选择

我在一个名为“身份验证”的模块中。成功登录此模块后,我希望我的用户重定向到主页(默认页面)

我试过下面的路线。但是没有起作用

$redirect = '/' ;
//$redirect = '' ;
//$redirect = null ;

return $this->redirect()->toRoute($redirect);
它会生成以下错误

找不到名为“”的路由


回家路线没有在另一个模块中定义,我不知道。那么如何重定向到主页呢?

如果您不知道您的主路线名称,您至少有两个选择:

  • 使其可配置-将主路由名称放入模块/应用程序配置中,并在控制器中检索它
  • 只需重定向到
    /

    return $this->redirect()->toUrl('/');
    

  • 如果您不知道您的主路线名称,您至少有两个选择:

  • 使其可配置-将主路由名称放入模块/应用程序配置中,并在控制器中检索它
  • 只需重定向到
    /

    return $this->redirect()->toUrl('/');
    

  • 有错误吗?我认为
    toRoute()
    需要一条命名的路线。@kerbholz是的。看起来toRoute()需要一个名称。更新了错误消息。因此,理论上,您应该制作/创建/拥有一个名为
    home
    (或任何其他内容)的命名路由,指向
    /
    。使用
    ->toRoute('home')
    可以从任何地方访问此命名路由。由于它位于另一个模块中,我无法说出它是什么。我正在寻找->toHome()或类似的东西?
    toRoute()
    确实需要路由的名称。您可以在任何模块的
    *.config.php
    文件中查找该配置,或者在应用程序启动后,您可以通过ServiceManager请求配置(即调试时在任何工厂使用
    $serviceLocator->get('config')
    )。如果您刚开始使用ZF2(或3)的框架应用程序,并且保留了默认配置,那么默认情况下,主页路径名为
    'home'
    (默认位置:我头顶的
    /module/Application/config/module.config.php
    )。因此,您可以使用:
    $this->redirect()->toRoute('home')
    。有错误吗?我认为
    toRoute()
    需要一条命名的路线。@kerbholz是的。看起来toRoute()需要一个名称。更新了错误消息。因此,理论上,您应该制作/创建/拥有一个名为
    home
    (或任何其他内容)的命名路由,指向
    /
    。使用
    ->toRoute('home')
    可以从任何地方访问此命名路由。由于它位于另一个模块中,我无法说出它是什么。我正在寻找->toHome()或类似的东西?
    toRoute()
    确实需要路由的名称。您可以在任何模块的
    *.config.php
    文件中查找该配置,或者在应用程序启动后,您可以通过ServiceManager请求配置(即调试时在任何工厂使用
    $serviceLocator->get('config')
    )。如果您刚开始使用ZF2(或3)的框架应用程序,并且保留了默认配置,那么默认情况下,主页路径名为
    'home'
    (默认位置:我头顶的
    /module/Application/config/module.config.php
    )。因此,您可以使用:
    $this->redirect()->toRoute('home')