gpt4 book ai didi

symfony - Symfony2 配置中的嵌套原型(prototype)

转载 作者:行者123 更新时间:2023-12-04 06:05:48 25 4
gpt4 key购买 nike

使用 Symfony2 TreeBuilder,可以为数组节点内的每个节点配置原型(prototype),例如支持类似的配置

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()另一个原型(prototype)调用不起作用,因为原型(prototype)似乎不支持嵌套原型(prototype)。结果,我不得不硬编码 xxx 和 yyy 的特定值,从而限制了我正在编写的包的灵 active 。

最佳答案

在 symfony 2.2 中检查,嵌套工作。

不要使用 ->children()嵌套 ->prototype() 之间:

$rootNode->children()
->arrayNode('foo')
->prototype('array')
->prototype('array')
->children()
->scalarNode('foo');

关于symfony - Symfony2 配置中的嵌套原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13874822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com