所以首先 TL:DR - Symfony 没有在我的包中获取额外的路由文件。不知道为什么。尝试像在 config.yml 中那样进行导入,但它也不起作用
我有多个控制器来维护我的代码。即所有与站点相关的操作都在一个 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 文件?
谢谢 :)
编辑:
感谢遗忘的回答。对于那些和我有同样问题的人(同一个包中的多个配置文件),这是我在 myBundle/Resources/config 中的 routing.yml 文件中必须做的事情。
我的目录结构看起来像
MyBundle/
Resources/
config/
routing.yml
routing_site.yml
routing_app.yml
所以我不得不做以下事情
SiteController:
resource: routing_site.yml
AppController:
resource: routing_app.yml
再次感谢