使用 Symfony2 TreeBuilder,它可以为数组节点内的每个节点配置原型,例如支持类似的配置
foo:
xxx: { foo: bar}
yyy: { foo: bar}
使用类似结构的任意数量的 xxx、yyy 等(任何值)节点
$rootNode
->arrayNode('foo')
->prototype('array')
->children()
->scalarNode('foo')
我想在不引入另一个命名节点的情况下创建同一事物的另一个级别,例如支持类似的配置
foo:
xxx:
aaa: { foo: bar}
bbb: { foo: bar}
yyy:
ccc: { foo: bar}
ddd: { foo: bar}
其中可以有任意数量的xxx、yyy等节点,每个节点可以包含任意数量的其他aaa、bbb等节点。
有什么办法可以做到这一点?在另一个原型调用->prototype()
下直接->children()
调用不起作用,因为原型似乎不支持嵌套原型。结果,我不得不硬编码 xxx 和 yyy 的特定值,从而限制了我正在编写的包的灵活性。