我实际上正在开发一个symfony 2包。我想允许用户使用DIC配置我的bundle而不检查bundle配置的某些部分。
例如,用户设置此配置:
root_node:
node:
key1: value1
key2: value2
key3: value3
我的配置包就是这样设置的:
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('root_node');
$rootNode
->children()
->arrayNode('node')->children()->end()
->end();
我希望用户可以配置“node”的子节点,而不需要通过bundle配置进行检查。我不知道如何修改此问题的配置。
答案 0 :(得分:3)
在对symfony2 github存储库进行一些研究之后,我找到了解决方案。对于想要做同样事情的其他人,解决方案是:
$rootNode
->children()
->arrayNode('node')
->useAttributeAsKey('node')->prototype('scalar')->end()
->end()
->end();