3

我正在尝试创建一个文件夹结构,如每个环境的不同目录中所述:

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

这对所有文件(config.ymlparameters.yml等)都非常有效,但对config.yml也不适用。

我收到此错误:

路由文件“[...]”包含“imports”不受支持的键:“0”。预期之一:“resource”、“type”、“prefix”、“pattern”、“path”、“host”、“schemes”、“methods”、“defaults”、“requirements”、“options”、“condition” ”。

到目前为止我所做的:

应用内核.php

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

开发中的 routing.yml

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

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"

开发中的 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"

我在这里错过了什么?

4

1 回答 1

6

最后我让它运行起来。我已经在我的开发配置中设置了新的路由文件:

#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.

于 2015-06-10T08:19:18.190 回答