Я написал загрузчик конфигурации с SF3.4.
Я хочу иметь:
['mapping' => ['request' => 'a', 'response' => 'b']
с конфигурацией:
custom:
mapping:
request: a
response: b
, и я хочу:
['mapping' => ['request' => 'a', 'response' => 'a']
с этим:
custom:
mapping: a
У меня есть построитель деревьев
->arrayNode('mapping')
->beforeNormalization()
->ifString()
->then(function($value) { return ['request' => $value, 'response' => $value]; })
->end()
->children()
->scalarNode('request')->isRequired()->end()
->scalarNode('response')->isRequired()->end()
->end()
->end()
С этой конфигурацией узла у меня есть
['mapping' => ['request' => 'a', 'response' => 'b']
и
['mapping' => ['a']
вместо
['mapping' => ['request' => 'a', 'response' => 'b']
и
['mapping' => ['request' => 'a', 'response' => 'a']
Не вызывается beforeNormalization? Как я могу получить желаемую конфигурацию?