我已经生成了新的捆绑包: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是什么?
答案 0 :(得分:1)
捆绑配置的工作方式是构建所有各种选项的配置树。
您正在尝试通过加载配置文件来构建树,这可能不错,但这不是Symfony的设计方式。
所以在Configuration.php中构建你的树,然后让应用程序能够通过app / config / config.yml覆盖特定的值