TreeBuilder не трансформирует мою конфигурацию - PullRequest
0 голосов
/ 03 октября 2019

Я написал загрузчик конфигурации с 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? Как я могу получить желаемую конфигурацию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...