【发布时间】:2013-07-11 18:02:34
【问题描述】:
所以首先 TL:DR - Symfony 没有在我的包中获取额外的路由文件。不知道为什么。尝试像在 config.yml 中那样进行导入,但它也不起作用
我有多个控制器来维护我的代码。 IE。所有与站点相关的操作都在 SiteController 中,所有与应用相关的操作都在 AppController 中,等等。
所以我想我会制作路由文件以与我的控制器相对应。这些文件位于 MyBundle/Resources/config 中。问题是当我执行 php app/console router:debug 时它们没有被拾取。所以我想,好吧,我将它们导入到 symfony 在 generate:bundle 过程中生成的 routing_mybundle.yml 文件中。所以我做了以下事情:
imports:
- { resource: routing_site.yml }
- { resource: routing_app.yml }
我收到一条错误消息:
routing_mybundle.yml 包含“import”不受支持的键:“0”、“1”。预期之一:“resource”、“type”、“prefix”、“pattern”、“path”、“host”、“schemes”、“methods”、“defaults”、“requirements”、“options”。
我意识到它正在寻找特定的键,但我不确定为什么它会在 config.yml 而不是在 routing.yml 文件中工作。
如果我执行以下操作,它会起作用:
imports:
resource: routing_site.yml
或者,如果我在文件中“链接”导入,它可以工作。所以我的意思是我将 routing_app 导入 routing_site 并将 routing_site 导入 routing_mybundle。
有谁知道如何让导入标签工作,或者如何让 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
再次感谢
【问题讨论】:
标签: php symfony yaml symfony-routing