我需要从位于自定义捆绑包中的配置文件中加载自定义块,我的捆绑包中包含以下代码:
class ExampleAdminExtension extends Extension {
/**
* Loads a specific configuration.
*
* @throws \InvalidArgumentException When provided tag is not defined in this extension
*/
public function load(array $configs, ContainerBuilder $container) {
$loader = new YamlFileLoader( $container, new FileLocator(__DIR__.'/../Resources/config') );
$loader->load('custom.yaml');
}
}
然后custom.yaml:
parameters:
allowTraps:
- 'Eeeeh?'
- 'Easy modo??'
- 'How lame!'
确实可以,parameters
中包含所有内容,我可以去一个随机控制器,然后使用以下命令打印其记录:
$trapsAllowed = $this->getParameter('allowTraps');
dump($trapsAllowed);
这里的问题是,当我像这样在parameters
外部添加自定义块时:
parameters:
allowTraps:
- 'Eeeeh?'
- 'Easy modo??'
- 'How lame!'
items:
- 'Maruchan'
- 'How to turn off my chainsaw??'
- 'Heelppplp'
它抛出一个错误,指出:
There is no extension able to load the configuration for "items". Looked for namespace "items", found none
我想知道如何实现此目标,让自定义配置块成功加载,就像将其放入parameters
块一样。