【发布时间】:2015-02-27 17:07:37
【问题描述】:
我是 Symfony 的新手,对 config.yml 顶部的 imports 键有点困惑。我正在尝试将 /our_stuff/admin/version.yml 导入 Symfony 的 config.yml 文件。
这是我的config.yml 文件的样子:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: '/our_stuff/admin/version.yml' }
这是我的 version.yml 文件中的内容
version:
last_recorded_software_version: '10.12.1'
但这会产生错误:
FileLoaderLoadException: Cannot import resource "/our_stuff/admin/version.yml" from "/our_stuff/admin/symfony/app/config/config.yml". (There is no extension able to load the configuration for "last_recorded_software_version" (in /our_stuff/admin/version.yml).
Looked for namespace "last_recorded_software_version", found "framework", "security", "twig", "monolog", "swiftmailer", "assetic", "doctrine", "sensio_framework_extra", "web_profiler", "sensio_distribution")
为了测试,我还将version.yml 文件移到了 Symfony 的配置文件夹中。路径是symfony_root/app/config/,但这仍然会产生相同的错误。
为什么导入的默认 YAML 文件适用于 Symfony 中包含的文件,而不适用于我包含的文件?
编辑为清晰起见进行了编辑
编辑 2 这是/our_stuff/admin/version.yml 文件的全部内容:
# Update this variable ONLY RIGHT BEFORE creating a new numbered release
version:
last_recorded_software_version: '10.12.1'
编辑3解决办法:
version.yml 文件需要有parameters 的命名空间才能在config.yml 文件中读取它们
# app/config/config.yml
imports:
- { resource: 'parameters.yml' }
- { resource: '/etc/sites/mysite.com/parameters.yml' }
#/etc/sites/mysite.com/version.yml
parameters:
some_key:
some_other_key: value
some_other_key1: value
...
【问题讨论】:
-
您导入的参数文件需要命名为
parameters,而您似乎在根命名空间中有last_recorded_software_version。 -
您的问题是什么?您在 YAML 文件中放置了什么?怎么了?
-
嘿抱歉,我的问题措辞很糟糕。我想将
version.yml导入config.yml。在version.yml中,last_recorded_software_version键位于version:下。那是对的吗?即使使用命名空间,它仍然给我一个错误。