为什么我不能在 bundle 的配置文件中使用配置?
Why I can't use configuration in config files of bundle?
我生成了新包: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:
我有错误:
There is no extension able to load the configuration for
"rusab_test_service" (in
/xxx/src/Rusab/TestBundle/DependencyInjection/../Resources/config/services.yml).
Looked for namespace "rusab_test_service", found none
但是我贴
rusab_test_service:
到
app/config/config.yml
那么这就可以了。
为什么?我知道,我可以在 app/config/config.yml 中导入 services.yml,但是 RusabTestBundleExtension.php 中的加载程序是什么?
捆绑配置的工作方式是构建一个包含所有不同选项的配置树。
您正在尝试通过加载配置文件来构建树,这可能不错,但这不是 Symfony 的设计方式。
所以在 Configuration.php 中构建你的树,然后让应用程序能够通过 app/config/config.yml
覆盖特定值
我生成了新包: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:
我有错误:
There is no extension able to load the configuration for "rusab_test_service" (in /xxx/src/Rusab/TestBundle/DependencyInjection/../Resources/config/services.yml). Looked for namespace "rusab_test_service", found none
但是我贴
rusab_test_service:
到
app/config/config.yml
那么这就可以了。
为什么?我知道,我可以在 app/config/config.yml 中导入 services.yml,但是 RusabTestBundleExtension.php 中的加载程序是什么?
捆绑配置的工作方式是构建一个包含所有不同选项的配置树。
您正在尝试通过加载配置文件来构建树,这可能不错,但这不是 Symfony 的设计方式。
所以在 Configuration.php 中构建你的树,然后让应用程序能够通过 app/config/config.yml
覆盖特定值