【问题标题】:Symfony2 not picking up multiple routing yml files / Import not working in yml fileSymfony2 没有拾取多个路由 yml 文件/导入在 yml 文件中不起作用
【发布时间】: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


    【解决方案1】:

    你可以这样导入路由文件

    routing.yml

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

    FOSUserBundle 也这样做。

    【讨论】:

    • 做到了!谢谢 :) 再次感谢
    猜你喜欢
    • 2012-04-30
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    相关资源
    最近更新 更多