为什么我不能在bundle的配置文件中使用配置?

时间:2017-10-10 11:22:44

标签: php symfony symfony-3.3

我已经生成了新的捆绑包:RusabTestBundle。它还包括文件:

- DependencyInjection
--  RusabTestBundleExtension.php
--  Configuration.php

在RusabTestBundleExtension.php中我有:

$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');

在Configuration.php中我有:

$rootNode = $treeBuilder->root('rusab_test_service');

下一步:

- Resources
-- services.yml

在services.yml中我粘贴:

rusab_test_service:

我有错误:

  

没有可以加载配置的扩展程序   “rusab_test_service”(in   /xxx/src/Rusab/TestBundle/DependencyInjection/../Resources/config/services.yml)。   查找命名空间“rusab_test_service”,找不到

但我粘贴

rusab_test_service:

  

应用程序/配置/ config.yml

然后这工作正常。

为什么呢?我知道,我可以在app / config / config.yml中导入services.yml,但是对于RusabTestBundleExtension.php中的loader是什么?

1 个答案:

答案 0 :(得分:1)

捆绑配置的工作方式是构建所有各种选项的配置树。

您正在尝试通过加载配置文件来构建树,这可能不错,但这不是Symfony的设计方式。

所以在Configuration.php中构建你的树,然后让应用程序能够通过app / config / config.yml覆盖特定的值

相关问题