Silex url生成器:无法生成
我正在使用Silex url生成器命名我的路由。但是在不同的文件中检索它们似乎不起作用 我首先包括:Silex url生成器:无法生成,url,generator,silex,Url,Generator,Silex,我正在使用Silex url生成器命名我的路由。但是在不同的文件中检索它们似乎不起作用 我首先包括: 包含目录/app/pages/bootstrap.php'; 包括“目录”/app/news/bootstrap.php'; 在bootstrap的页面中,我有: $app->get('/admin/pages',函数(请求$Request)使用($app){ //代码 })->绑定('admin.pages.index'); echo$app['url_generator']->genera
包含目录/app/pages/bootstrap.php';
包括“目录”/app/news/bootstrap.php';
在bootstrap的页面中,我有:
$app->get('/admin/pages',函数(请求$Request)使用($app){
//代码
})->绑定('admin.pages.index');
echo$app['url_generator']->generate('admin.pages.index');
在新闻引导中,我有:
$app->get('/admin/news',函数(请求$Request)使用($app){
//代码
})->绑定('admin.news.index');
echo$app['url_generator']->generate('admin.news.index');
它会生成“admin.pages.index”性能,但对于“admin.news.index”,我会收到:
“无法为命名路由“admin.news.index”生成URL,因为该路由不存在。”
观察结果
•当我将所有内容放在一个文件中时,效果良好
•当我将加载顺序更改为:
包含目录/app/news/bootstrap.php';
包括“目录”/app/pages/bootstrap.php';
它生成的“admin.news.index”很好,但“admin.pages.index”失败。将代码与您发布的代码放在两个文件中时,会发生以下情况:
话虽如此,我不知道如果您将所有内容都放在一个文件中,为什么它会起作用,除非我猜在这种情况下,您有一个路由声明块,然后有一个带有2个UrlGenerator方法调用的块。如果将代码放在2个文件中,并带有您发布的代码,则会发生以下情况:
话虽如此,我不知道如果您将所有内容都放在一个文件中,为什么它会起作用,除了我猜在这种情况下,您有一个路由声明块,然后是一个带有2个UrlGenerator方法调用的块。我现在理解了问题的根源。我将修改代码,以便首先绑定所有路由名称。非常感谢您的精彩解释。顺便说一下:将控制器代码放入真实控制器中是组织控制器代码的更好方法。只需在web上搜索示例和博客文章。我确实有真正的控制器,但我简化了stackoverflow的代码,因为它们建议使用最少的代码示例()。我现在理解了问题的根源。我将修改代码,以便首先绑定所有路由名称。非常感谢您的精彩解释。顺便说一下:将控制器代码放入真实控制器中是组织控制器代码的更好方法。只需在web上搜索示例和博客文章。我确实有真正的控制器,但我简化了stackoverflow的代码,因为它们建议使用最少的代码示例()。