Symfony2 - 环境 - 无法从common文件夹导入routing.yml

时间:2015-06-01 11:03:19

标签: symfony yaml symfony-2.7

我正在尝试创建Different Directories per Environment中描述的文件夹结构:

- app
    - config
        - common
            - config.yml
            - routing.yml
        - dev
            - config.yml
            - routing.yml

这对所有文件( config.yml parameters.yml 等)都有效,但 config.yml 也不行。

我收到此错误:

  

路由文件“[...]”包含不支持的“导入”键:“0”。预期的一个:“资源”,“类型”,“前缀”,“模式”, “path”,“host”,“schemes”,“methods”,“defaults”,“requirements”,“options”,“condition”。

到目前为止我做了什么:

appKernel.php

public function registerContainerConfiguration(LoaderInterface $loader) {
    $loader->load($this->getRootDir().'/config/'.$this->getEnvironment().'/config.yml');
}
dev

中的

routing.yml

#app/config/dev/routing.yml
imports:
    - { resource: ../common/routing.yml }
common

中的

config.yml

#app/config/common/config.yml
imports:
    - { resource: 'parameters.yml' }
    - { resource: 'security.yml' }
    - { resource: 'services.yml' }

framework:
    router:
        resource: "%kernel.root_dir%/config/common/routing.yml"
dev

中的

config.yml

#app/config/dev/config.yml
imports:
    - { resource: '../common/config.yml' }
    - { resource: 'parameters.yml' }
    - { resource: 'security.yml' }
    - { resource: 'services.yml' }

framework:
    router:
        resource: "%kernel.root_dir%/config/dev/routing.yml"

我在这里想念的是什么?

1 个答案:

答案 0 :(得分:4)

最后我开始运行了。我在 dev config 中设置了新的路由文件:

#app/config/dev/config.yml
framework:
    # update routing
    router:
        resource: "%kernel.root_dir%/config/dev/routing.yml"

我通过不使用imports: - { resource: ../common/routing.yml }导入了开发路由中的公共路由,但是这样做了:

#app/config/dev/routing.yml
_common:
    resource: ../common/routing.yml

像魅力一样工作。似乎import中不允许使用routing.yml指令。