Некоторые функции моего комплекта не являются обязательными. Чтобы настроить их, я хотел бы иметь следующие два варианта. Если я хочу включить функцию:
foo:
feature:
mandatory1: 'bar'
mandatory2: 'bar2'
Однако, если я решу не использовать эту конкретную функцию, я бы хотел установить feature
быть нулевым:
foo:
feature: ~
В настоящее время у меня есть следующий код:
// ...
->arrayNode('feature')
->defaultNull()
->children()
->scalarNode('mandatory1')
->isRequired()
->cannotBeEmpty()
->end()
->scalarNode('mandatory2')
->isRequired()
->cannotBeEmpty()
->end()
->end()
->end()
Тем не менее defaultNull()
звонок не разрешен. Есть ли способ, которым я могу добиться этого поведения?
На самом деле, я нашел ответ сам. Скопировано из Symfony документы:
Если у вас есть целые разделы, которые являются необязательными и могут быть включены / отключены, вы можете воспользоваться сочетанием клавиш
canBeEnabled()
а такжеcanBeDisabled()
методы.
Других решений пока нет …