我正在尝试创建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
common #app/config/dev/routing.yml
imports:
- { resource: ../common/routing.yml }
config.yml
dev #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"
答案 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
指令。