首先关闭TL:DR - Symfony没有在我的捆绑中获取额外的路由文件。不知道为什么。尝试在config.yml中执行导入,但它不能正常工作
我有多个控制器可以保持我的代码。即所有与站点相关的操作都在SiteController中,所有与应用程序相关的操作都在AppController等中。
所以我想我会将路由文件与我的控制器对应。这些文件位于MyBundle / Resources / config中。问题是当我做一个php应用程序/控制台路由器时它们没有被拾取:debug。所以我想,我只是将它们导入到symfony在generate:bundle进程中生成的routing_mybundle.yml文件中。所以我做了以下事情:
imports:
- { resource: routing_site.yml }
- { resource: routing_app.yml }
我收到一条错误消息:
routing_mybundle.yml包含不受支持的“import”键:“0”,“1”。预期之一:“资源”,“类型”,“前缀”,“模式”,“路径”,“主机”,“方案”,“方法”,“默认值”,“要求”,“选项”。
我意识到它正在寻找特定的密钥,但我不确定它为什么会在config.yml中工作,而不是在routing.yml文件中。
如果我执行以下操作,则可以:
imports:
resource: routing_site.yml
或者如果我“链接”它工作的文件中的导入。所以我的意思是我将routing_app导入routing_site并将routing_site导入routing_mybundle。
任何人都知道如何让imports标签工作,或者如何使它能让symfony拿起我的routing_ * *。yml文件?
谢谢:)
修改
感谢忘记了答案。对于那些和我有同样问题的人(同一个包中有多个配置文件),这就是我在routing.yml文件中必须做的事情 WITHIN myBundle / Resources / config。
我的目录结构类似于
MyBundle/
Resources/
config/
routing.yml
routing_site.yml
routing_app.yml
所以我必须做以下
SiteController:
resource: routing_site.yml
AppController:
resource: routing_app.yml
再次感谢
答案 0 :(得分:2)
您可以这种方式导入路由文件
<强>的routing.yml 强>
SiteBundle:
resource: "@SiteBundle/Resources/config/routing_site.yml"
AppBundle:
resource: "@AppBundle/Resources/config/routing_app.yml"
FOSUserBundle这样做。