ArrayNodeDefinition
class ArrayNodeDefinition extends NodeDefinition implements ParentNodeDefinitionInterface
Этот класс предоставляет удобный интерфейс для определения узла массива.
Методы
| __construct(string $name, NodeParentInterface $parent = null) Конструктор. | ||
| NodeDefinition|$this | setParent(NodeParentInterface $parent) Устанавливает родительский узел. | from NodeDefinition |
| NodeDefinition|$this | info(string $info) Устанавливает сообщение информации. | from NodeDefinition |
| NodeDefinition|$this | example(string|array $example) Устанавливает пример конфигурации. | from NodeDefinition |
| NodeDefinition|$this | attribute(string $key, mixed $value) Устанавливает атрибут узла. | from NodeDefinition |
| NodeParentInterface|null | end() Возвращает родительский узел. | from NodeDefinition |
| NodeInterface | getNode(bool $forceRootNode = false) Создаёт узел. | from NodeDefinition |
| NodeDefinition|$this | defaultValue(mixed $value) Устанавливает значение по умолчанию. | from NodeDefinition |
| NodeDefinition|$this | isRequired() Устанавливает узел как обязательный. | from NodeDefinition |
| NodeDefinition|$this | treatNullLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит null. | from NodeDefinition |
| NodeDefinition|$this | treatTrueLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит true. | from NodeDefinition |
| NodeDefinition|$this | treatFalseLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит false. | from NodeDefinition |
| NodeDefinition|$this | defaultNull() Устанавливает null в качестве значения по умолчанию. | from NodeDefinition |
| NodeDefinition|$this | defaultTrue() Устанавливает true в качестве значения по умолчанию. | from NodeDefinition |
| NodeDefinition|$this | defaultFalse() Устанавливает false в качестве значения по умолчанию. | from NodeDefinition |
| ExprBuilder | beforeNormalization() Устанавливает выражение для выполнения перед нормализацией. | from NodeDefinition |
| NodeDefinition|$this | cannotBeEmpty() Запрещает пустое значение узла. | from NodeDefinition |
| ExprBuilder | validate() Устанавливает выражение для выполнения проверки. | from NodeDefinition |
| NodeDefinition|$this | cannotBeOverwritten(bool $deny = true) Устанавливает, может ли узел быть перезаписан. | from NodeDefinition |
| setBuilder(NodeBuilder $builder) Устанавливает пользовательского билдера дочерних узлов. | ||
| children() Возвращает билдер для добавления дочерних узлов. | ||
| NodeDefinition | prototype(string $type) Устанавливает шаблон для дочерних узлов. | |
| ArrayNodeDefinition | addDefaultsIfNotSet() Добавляет значение по умолчанию, если узел не задан в конфигурации. | |
| ArrayNodeDefinition | addDefaultChildrenIfNoneSet(int|string|array|null $children = null) Добавляет дочерние узлы со значением по умолчанию, если они не определены. | |
| ArrayNodeDefinition | requiresAtLeastOneElement() Требует, чтобы узел содержал как минимум один элемент. | |
| ArrayNodeDefinition | disallowNewKeysInSubsequentConfigs() Запрещает добавление новых ключей в последующей конфигурации. | |
| ArrayNodeDefinition | fixXmlConfig(string $singular, string $plural = null) Устанавливает правило нормализации для XML-конфигураций. | |
| ArrayNodeDefinition | useAttributeAsKey(string $name, bool $removeKeyItem = true) Устанавливает атрибут, значение которого будет использоваться в качестве ключа. | |
| ArrayNodeDefinition | canBeUnset(bool $allow = true) Устанавливает, может ли узел быть удалён. | |
| ArrayNodeDefinition | canBeEnabled() Добавляет boolean-атрибут "enabled" для включения текущего раздела. | |
| ArrayNodeDefinition | canBeDisabled() Добавляет boolean-атрибут "enabled" для включения текущего раздела. | |
| ArrayNodeDefinition | performNoDeepMerging() Отключает глубокую слияние узла. | |
| ArrayNodeDefinition | ignoreExtraKeys(bool $remove = true) Позволяет указывать дополнительные ключи конфигурации в массиве без выброса исключения. | |
| ArrayNodeDefinition | normalizeKeys(bool $bool) Устанавливает нормализацию ключей. |
| append(NodeDefinition $node) Добавляет определение узла. |
Подробности
__construct(string $name, NodeParentInterface $parent = null)
Конструктор.
Параметры
| string | $name | Имя узла |
| NodeParentInterface | $parent | Родительский элемент |
NodeDefinition|$this setParent(NodeParentInterface $parent)
Устанавливает родительский узел.
Параметры
| NodeParentInterface | $parent | Родительский элемент |
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this info(string $info)
Устанавливает сообщение с информацией.
Параметры
| string | $info | Текст информации |
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this example(string|array $example)
Устанавливает пример конфигурации.
Параметры
| string|array | $example |
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this attribute(string $key, mixed $value)
Устанавливает атрибут узла.
Параметры
| string | $key | |
| mixed | $value |
Значение результата
| NodeDefinition|$this |
NodeParentInterface|null end()
Возвращает родительский узел.
Значение результата
| NodeParentInterface|null | Построитель родительского узла |
NodeInterface getNode(bool $forceRootNode = false)
Создает узел.
Параметры
| bool | $forceRootNode | Вынужденно сделать этот узел корневым |
Значение результата
| NodeInterface |
NodeDefinition|$this defaultValue(mixed $value)
Устанавливает значение по умолчанию.
Параметры
| mixed | $value | Значение по умолчанию |
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this isRequired()
Устанавливает узел как обязательный.
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this treatNullLike(mixed $value)
Устанавливает эквивалентное значение, используемое, когда узел содержит null.
Параметры
| mixed | $value |
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this treatTrueLike(mixed $value)
Устанавливает эквивалентное значение, используемое, когда узел содержит true.
Параметры
| mixed | $value |
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this treatFalseLike(mixed $value)
Устанавливает эквивалентное значение, используемое, когда узел содержит false.
Параметры
| mixed | $value |
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this defaultNull()
Устанавливает null в качестве значения по умолчанию.
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this defaultTrue()
Устанавливает true в качестве значения по умолчанию.
Значение результата
| NodeDefinition|$this |
NodeDefinition|$this defaultFalse()
Устанавливает false в качестве значения по умолчанию.
Значение результата
| NodeDefinition|$this |
ExprBuilder beforeNormalization()
Устанавливает выражение для выполнения перед нормализацией.
Значение результата
| ExprBuilder |
NodeDefinition|$this cannotBeEmpty()
Запрещает значение узла быть пустым.
Значение результата
| NodeDefinition|$this |
ExprBuilder validate()
Устанавливает выражение для выполнения валидации.
Выражение получает значение узла и должно вернуть его. Оно может его изменить. При невалидном узле должно быть выброшено исключение.
Значение результата
| ExprBuilder |
NodeDefinition|$this cannotBeOverwritten(bool $deny = true)
Устанавливает, можно ли перезаписывать узел.
Параметры
| bool | $deny | Запрещено ли перезаписывание |
Значение результата
| NodeDefinition|$this |
setBuilder(NodeBuilder $builder)
Устанавливает пользовательский построитель дочерних элементов.
Параметры
| NodeBuilder | $builder |
children()
Возвращает построитель для добавления дочерних узлов.
NodeDefinition prototype(string $type)
Устанавливает шаблон для дочерних узлов.
Параметры
| string | $type | тип узла |
Значение результата
| NodeDefinition |
ArrayNodeDefinition addDefaultsIfNotSet()
Добавляет значение по умолчанию, если узел не задан в конфигурации.
Этот метод применим только к конкретным узлам (не к прототипам узлов). Если эта функция была вызвана, и узел не был установлен на стадии завершения, его значение по умолчанию будет получено из значений по умолчанию его дочерних узлов.
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition addDefaultChildrenIfNoneSet(int|string|array|null $children = null)
Добавляет дочерние узлы со значением по умолчанию, если они не определены.
Параметры
| int|string|array|null | $children | Количество дочерних узлов|Имя дочернего узла|Имена дочерних узлов, которые нужно добавить Этот метод применим только к узлам-прототипам. |
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition requiresAtLeastOneElement()
Требует, чтобы у узла было как минимум одно значение.
Этот метод применим только к узлам-прототипам.
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition disallowNewKeysInSubsequentConfigs()
Запрещает добавление новых ключей в последующих конфигурациях.
Если используется, все ключи должны быть определены в одном и том же файле конфигурации.
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition fixXmlConfig(string $singular, string $plural = null)
Устанавливает правило нормализации для конфигураций XML.
Параметры
| string | $singular | Ключ для переназначения |
| string | $plural | Множественное число ключа для нерегулярных множественных чисел |
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition 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 | Удалить ли элемент ключа. |
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition canBeUnset(bool $allow = true)
Устанавливает, можно ли удалить узел.
Параметры
| bool | $allow |
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition canBeEnabled()
Добавляет булево значение "enabled" для включения текущего раздела.
По умолчанию раздел отключен. Если указана любая конфигурация, узел будет автоматически включен:
enableableArrayNode: {enabled: true, ...} # Конфигурация включена & значения по умолчанию перезаписываются enableableArrayNode: ~ # Конфигурация включена & используются значения по умолчанию enableableArrayNode: true # Конфигурация включена & используются значения по умолчанию enableableArrayNode: {other: value, ...} # Конфигурация включена & значения по умолчанию перезаписываются enableableArrayNode: {enabled: false, ...} # Конфигурация отключена enableableArrayNode: false # Конфигурация отключена
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition canBeDisabled()
Добавляет булево значение "enabled" для включения текущего раздела.
По умолчанию раздел включен.
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition performNoDeepMerging()
Отключает глубокое слияние узла.
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition ignoreExtraKeys(bool $remove = true)
Разрешает указывать дополнительные ключи конфигурации в массиве без выброса исключения.
Эти значения конфигурации просто игнорируются и удаляются из результирующего массива. Это следует использовать только в особых случаях, когда вы хотите отправить весь массив конфигурации в специальное дерево, которое обрабатывает только часть массива.
Параметры
| bool | $remove | Удалить ли дополнительные ключи |
Возвращаемое значение
| ArrayNodeDefinition |
ArrayNodeDefinition normalizeKeys(bool $bool)
Устанавливает нормализацию ключей.
Параметры
| bool | $bool | Включить нормализацию ключей |
Возвращаемое значение
| ArrayNodeDefinition |
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.0/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.html