ArrayNodeDefinition
class ArrayNodeDefinition extends NodeDefinition implements ParentNodeDefinitionInterface
Этот класс предоставляет удобный интерфейс для определения узла массива.
Методы
| __construct(string $name, NodeParentInterface $parent = null) Конструктор. | ||
| $this | setParent(NodeParentInterface $parent) Устанавливает родительский узел. | из NodeDefinition |
| $this | info(string $info) Устанавливает сообщение информации. | из NodeDefinition |
| $this | example(string|array $example) Устанавливает пример конфигурации. | из NodeDefinition |
| $this | attribute(string $key, mixed $value) Устанавливает атрибут узла. | из NodeDefinition |
| NodeParentInterface|NodeBuilder|NodeDefinition|null | end() Возвращает родительский узел. | из NodeDefinition |
| NodeInterface | getNode(bool $forceRootNode = false) Создаёт узел. | из NodeDefinition |
| $this | defaultValue(mixed $value) Устанавливает значение по умолчанию. | из NodeDefinition |
| $this | isRequired() Устанавливает узел как обязательный. | из NodeDefinition |
| $this | treatNullLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит null. | из NodeDefinition |
| $this | treatTrueLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит true. | из NodeDefinition |
| $this | treatFalseLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит false. | из NodeDefinition |
| $this | defaultNull() Устанавливает null в качестве значения по умолчанию. | из NodeDefinition |
| $this | defaultTrue() Устанавливает true в качестве значения по умолчанию. | из NodeDefinition |
| $this | defaultFalse() Устанавливает false в качестве значения по умолчанию. | из NodeDefinition |
| ExprBuilder | beforeNormalization() Устанавливает выражение, которое выполняется перед нормализацией. | из NodeDefinition |
| $this | cannotBeEmpty() Запрещает значение узла быть пустым. | из NodeDefinition |
| ExprBuilder | validate() Устанавливает выражение для проверки. | из NodeDefinition |
| $this | cannotBeOverwritten(bool $deny = true) Устанавливает, может ли узел быть перезаписан. | из NodeDefinition |
| setBuilder(NodeBuilder $builder) Устанавливает пользовательского билдера дочерних элементов. | ||
| children() Возвращает билдер для добавления дочерних узлов. | ||
| NodeDefinition | prototype(string $type) Устанавливает прототип для дочерних узлов. | |
| $this | addDefaultsIfNotSet() Добавляет значение по умолчанию, если узел не задан в конфигурации. | |
| $this | addDefaultChildrenIfNoneSet(int|string|array|null $children = null) Добавляет дочерние элементы со значением по умолчанию, если они не определены. | |
| $this | requiresAtLeastOneElement() Требует, чтобы узел имел хотя бы один элемент. | |
| $this | disallowNewKeysInSubsequentConfigs() Запрещает добавление новых ключей в последующей конфигурации. | |
| $this | fixXmlConfig(string $singular, string $plural = null) Устанавливает правило нормализации для XML-конфигураций. | |
| $this | useAttributeAsKey(string $name, bool $removeKeyItem = true) Устанавливает атрибут, значение которого должно использоваться в качестве ключа. | |
| $this | canBeUnset(bool $allow = true) Устанавливает, можно ли узел удалить. | |
| $this | canBeEnabled() Добавляет boolean "enabled" для активации текущего раздела. | |
| $this | canBeDisabled() Добавляет boolean "enabled" для активации текущего раздела. | |
| $this | performNoDeepMerging() Отключает глубокое слияние узла. | |
| $this | ignoreExtraKeys(bool $remove = true) Позволяет указывать дополнительные ключи конфигурации в массиве без выброса исключения. | |
| $this | normalizeKeys(bool $bool) Устанавливает нормализацию ключей. | |
| append(NodeDefinition $node) Добавляет определение узла. |
Детали
__construct(string $name, NodeParentInterface $parent = null)
Конструктор.
Параметры
| string | $name | Имя узла |
| NodeParentInterface | $parent | Родительский элемент |
$this setParent(NodeParentInterface $parent)
Устанавливает родительский узел.
Параметры
| NodeParentInterface | $parent | Родительский элемент |
Значение возврата
| $this |
$this info(string $info)
Устанавливает сообщение информации.
Параметры
| string | $info | Текст информации |
Значение возврата
| $this |
$this example(string|array $example)
Устанавливает пример конфигурации.
Параметры
| string|array | $example |
Значение возврата
| $this |
$this attribute(string $key, mixed $value)
Устанавливает атрибут узла.
Параметры
| string | $key | |
| mixed | $value |
Значение возврата
| $this |
NodeParentInterface|NodeBuilder|NodeDefinition|null end()
Возвращает родительский узел.
Значение возврата
| NodeParentInterface|NodeBuilder|NodeDefinition|null | Построитель родительского узла |
NodeInterface getNode(bool $forceRootNode = false)
Создаёт узел.
Параметры
| bool | $forceRootNode | Принудительно сделать этот узел корневым узлом |
Значение возврата
| NodeInterface |
$this defaultValue(mixed $value)
Устанавливает значение по умолчанию.
Параметры
| mixed | $value | Значение по умолчанию |
Значение возврата
| $this |
$this isRequired()
Устанавливает узел как обязательный.
Значение возврата
| $this |
$this treatNullLike(mixed $value)
Устанавливает эквивалентное значение, используемое, когда узел содержит null.
Параметры
| mixed | $value |
Значение возврата
| $this |
$this treatTrueLike(mixed $value)
Устанавливает эквивалентное значение, используемое, когда узел содержит true.
Параметры
| mixed | $value |
Значение возврата
| $this |
$this treatFalseLike(mixed $value)
Устанавливает эквивалентное значение, используемое, когда узел содержит false.
Параметры
| mixed | $value |
Значение возврата
| $this |
$this defaultNull()
Устанавливает значение по умолчанию null.
Значение возврата
| $this |
$this defaultTrue()
Устанавливает значение по умолчанию true.
Значение возврата
| $this |
$this defaultFalse()
Устанавливает значение по умолчанию false.
Значение возврата
| $this |
ExprBuilder beforeNormalization()
Устанавливает выражение, которое выполняется перед нормализацией.
Значение возврата
| ExprBuilder |
$this cannotBeEmpty()
Запрещает пустое значение узла.
Значение возврата
| $this |
ExprBuilder validate()
Устанавливает выражение для проверки.
Выражение получает значение узла и должно вернуть его. Оно может его изменить. При невалидном узле должно быть выброшено исключение.
Значение возврата
| ExprBuilder |
$this cannotBeOverwritten(bool $deny = true)
Устанавливает возможность перезаписи узла.
Параметры
| bool | $deny | Запрещена ли перезапись |
Значение возврата
| $this |
setBuilder(NodeBuilder $builder)
Устанавливает пользовательский построитель дочерних элементов.
Параметры
| NodeBuilder | $builder |
children()
Возвращает построитель для добавления дочерних узлов.
NodeDefinition prototype(string $type)
Устанавливает шаблон для дочерних узлов.
Параметры
| string | $type | тип узла |
Значение возврата
| NodeDefinition |
$this addDefaultsIfNotSet()
Добавляет значение по умолчанию, если узел не задан в конфигурации.
Этот метод применим только к конкретным узлам (не к шаблонам). Если эта функция была вызвана, и узел не задан на этапе окончательной обработки, его значение по умолчанию будет получено из значений по умолчанию его дочерних элементов.
Значение возврата
| $this |
$this addDefaultChildrenIfNoneSet(int|string|array|null $children = null)
Добавляет дочерние элементы с значением по умолчанию, если они не определены.
Параметры
| int|string|array|null | $children | Количество дочерних элементов|Имя дочернего элемента|Имена дочерних элементов для добавления Этот метод применим только к шаблонам узлов. |
Значение возврата
| $this |
$this requiresAtLeastOneElement()
Требует, чтобы узел имел по крайней мере один элемент.
Этот метод применим только к шаблонам узлов.
Значение возврата
| $this |
$this disallowNewKeysInSubsequentConfigs()
Запрещает добавление новых ключей в последующих конфигурациях.
Если используется, все ключи должны быть определены в одном файле конфигурации.
Значение возврата
| $this |
$this fixXmlConfig(string $singular, string $plural = null)
Устанавливает правило нормализации для XML-конфигураций.
Параметры
| string | $singular | Ключ для переименования |
| string | $plural | Множественное число ключа для нерегулярных множественных чисел |
Значение возврата
| $this |
$this useAttributeAsKey(string $name, bool $removeKeyItem = true)
Устанавливает атрибут, значение которого используется в качестве ключа.
Это полезно, когда у вас есть индексированный массив, который должен быть ассоциативным массивом. Вы можете выбрать элемент из массива, который будет ключом для конкретного элемента. Например, если «id» является «ключом», то:
array(
array('id' => 'my_name', 'foo' => 'bar'),
);
становится
array(
'my_name' => array('foo' => 'bar'),
);
Если вы хотите, чтобы "'id' => 'my_name'" всё ещё присутствовал в результирующем массиве, вы можете установить второй аргумент этого метода в false.
Этот метод применим только к узлам-прототипам.
Параметры
| string | $name | Имя ключа |
| bool | $removeKeyItem | Нужно ли удалить элемент ключа |
Возвращаемое значение
| $this |
$this canBeUnset(bool $allow = true)
Устанавливает, может ли узел быть удалён.
Параметры
| bool | $allow |
Возвращаемое значение
| $this |
$this canBeEnabled()
Добавляет булеву переменную "enabled" для активации текущего раздела.
По умолчанию, раздел отключён. Если какая-либо конфигурация указана, узел будет автоматически активирован:
enableableArrayNode: {enabled: true, ...} # Конфигурация включена & значения по умолчанию перезаписываются enableableArrayNode: ~ # Конфигурация включена & используются значения по умолчанию enableableArrayNode: true # Конфигурация включена & используются значения по умолчанию enableableArrayNode: {other: value, ...} # Конфигурация включена & значения по умолчанию перезаписываются enableableArrayNode: {enabled: false, ...} # Конфигурация отключена enableableArrayNode: false # Конфигурация отключена
Возвращаемое значение
| $this |
$this canBeDisabled()
Добавляет булеву переменную "enabled" для активации текущего раздела.
По умолчанию, раздел включён.
Возвращаемое значение
| $this |
$this performNoDeepMerging()
Отключает глубокое слияние узла.
Возвращаемое значение
| $this |
$this ignoreExtraKeys(bool $remove = true)
Разрешает указывать дополнительные ключи конфигурации в массиве без вызова исключения.
Эти значения конфигурации просто игнорируются и удаляются из результирующего массива. Это следует использовать только в особых случаях, когда вы хотите отправить весь массив конфигурации через специальное дерево, обрабатывающее только часть массива.
Параметры
| bool | $remove | Удалить ли дополнительные ключи |
Возвращаемое значение
| $this |
$this normalizeKeys(bool $bool)
Устанавливает нормализацию ключей.
Параметры
| bool | $bool | Включить нормализацию ключей |
Возвращаемое значение
| $this |
append(NodeDefinition $node)
Добавляет определение узла.
$node = new ArrayNodeDefinition() ->children() ->scalarNode('foo')->end() ->scalarNode('baz')->end() ->end() ->append($this->getBarNodeDefinition()) ;
Параметры
| NodeDefinition | $node |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.1/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.html