Symfony2没有获取多个路由yml文件/导入无法在yml文件中工作

时间:2013-07-13 06:39:26

标签: php symfony yaml symfony-routing

首先关闭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

再次感谢

1 个答案:

答案 0 :(得分:2)

您可以这种方式导入路由文件

<强>的routing.yml

SiteBundle:
    resource: "@SiteBundle/Resources/config/routing_site.yml"

AppBundle:
    resource: "@AppBundle/Resources/config/routing_app.yml"

FOSUserBundle这样做。