У меня есть следующая конфигурация построителя дерева:
private function addDiscountConfiguration(NodeBuilder $builder): void
{
$builder
->arrayNode('discount')
->addDefaultsIfNotSet()
->children()
->arrayNode('matrix')
->arrayPrototype()
->children()
->scalarNode('min')->end()
->scalarNode('max')->end()
->end()
->end()
->end()
->end()
->end()
;
}
Однако, когда я сбрасываю конфигурацию в compilerPass, я получаю следующий результат:
dd($container->getParameter('config'));
array:1 [
"discount" => array:1 [
"matrix" => []
]
]
Таким образом, скалярные узлы отсутствуют.
Структура должна выглядеть следующим образом:
discount:
matrix:
0:
min: 10
max: 20
1:
min: 10
max: 20
Поскольку у меня нет названия для 0
и 1
, я не могу использовать arrayNode('xy')
здесь.
Есть идеи, что я делаю не так? Может быть, что использовать вместо arrayPrototype()
?