【发布时间】:2017-10-20 06:31:51
【问题描述】:
我在一个名为“身份验证”的模块中。使用此模块成功登录后,我希望我的用户重定向到主页(默认页面)。
我尝试了以下路线。但是没用。
$redirect = '/' ;
//$redirect = '' ;
//$redirect = null ;
return $this->redirect()->toRoute($redirect);
它会产生以下错误
找不到名为“”的路线
我不知道的另一个模块中没有定义主路由。那么如何重定向到主页呢?
【问题讨论】:
-
有什么错误吗?我认为
toRoute()需要一个命名路由。 -
@kerbholz 是的。它看起来 toRoute() 需要一个名称。更新了错误信息。
-
所以理论上你应该创建/创建/拥有一个名为
home(或其他任何东西)的命名路由指向/。可以使用->toRoute('home')从任何地方访问此命名路由。 -
由于它在另一个模块中,我不知道它是什么。我正在寻找类似 ->toHome() 或类似的东西?
-
toRoute()确实期望路由的 name。您可以在任何模块的*.config.php文件中查找此内容,或者在应用程序启动后,您可以通过 ServiceManager 请求配置(即,调试时在任何工厂中使用$serviceLocator->get('config'))。如果您开始使用 ZF2(或 3)的 Skeleton Application 并保留默认配置,默认情况下主页路由命名为'home'(默认位置:我的头顶/module/Application/config/module.config.php)。因此,您可以使用:$this->redirect()->toRoute('home').
标签: php zend-framework zend-framework2