【问题标题】:Symfony2 - Environments - Can't import routing.yml from common folderSymfony2 - 环境 - 无法从公共文件夹导入 routing.yml
【发布时间】:2015-06-01 11:03:19
【问题描述】:

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

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

这确实适用于所有文件(config.ymlparameters.yml 等),但不适用于 config.yml

我收到此错误:

路由文件“[…]”包含不支持的“imports”键:“0”。 应为以下之一:“resource”、“type”、“prefix”、“pattern”、 “路径”、“主机”、“方案”、“方法”、“默认值”、“要求”、“选项”、“条件”。

到目前为止我做了什么:

appKernel.php

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

routing.yml in dev

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

config.yml in 通用

#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 in dev

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

我错过了什么?

【问题讨论】:

  • 你修改了registerContainerConfiguration()方法的代码吗?
  • @Freelancer 是的,我做到了。我已将代码添加到问题中。
  • 在你的 config.yml 为什么不导入 parameters.yml 和 security.yml ?
  • @Freelancer 其实我有。我刚刚删除它以缩短问题 - 我现在已经添加了整个内容。
  • 为什么不在你的 app/config/dev/config.yml 中直接从 common 调用 routing.yml 而不是创建一个从 common 导入文件的 routing.yml?

标签: symfony yaml symfony-2.7


【解决方案1】:

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

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

我在 dev routing 中导入了 common routing,但没有使用 imports: - { resource: ../common/routing.yml },而是使用了这个:

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

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

【讨论】:

  • 确实如此。如果你有很多文件要导入,这会做: yaml" ```
猜你喜欢
  • 2020-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 2021-04-14
  • 1970-01-01
  • 2020-02-27
相关资源
最近更新 更多