ArrayNodeDefinition
class ArrayNodeDefinition extends NodeDefinition implements ParentNodeDefinitionInterface
Этот класс предоставляет удобный интерфейс для определения узла массива.
Методы
| __construct(string $name, NodeParentInterface $parent = null) | ||
| $this | setParent(NodeParentInterface $parent) Устанавливает родительский узел. | from NodeDefinition |
| $this | info(string $info) Устанавливает сообщение информации. | from NodeDefinition |
| $this | example(string|array $example) Устанавливает пример конфигурации. | from NodeDefinition |
| $this | attribute(string $key, mixed $value) Устанавливает атрибут узла. | from NodeDefinition |
| NodeParentInterface|NodeBuilder|NodeDefinition|ArrayNodeDefinition|VariableNodeDefinition|null | end() Возвращает родительский узел. | from NodeDefinition |
| NodeInterface | getNode(bool $forceRootNode = false) Создаёт узел. | from NodeDefinition |
| $this | defaultValue(mixed $value) Устанавливает значение по умолчанию. | from NodeDefinition |
| $this | isRequired() Устанавливает узел как обязательный. | from NodeDefinition |
| $this | treatNullLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит null. | from NodeDefinition |
| $this | treatTrueLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит true. | from NodeDefinition |
| $this | treatFalseLike(mixed $value) Устанавливает эквивалентное значение, используемое, когда узел содержит false. | from NodeDefinition |
| $this | defaultNull() Устанавливает null в качестве значения по умолчанию. | from NodeDefinition |
| $this | defaultTrue() Устанавливает true в качестве значения по умолчанию. | from NodeDefinition |
| $this | defaultFalse() Устанавливает false в качестве значения по умолчанию. | from NodeDefinition |
| ExprBuilder | beforeNormalization() Устанавливает выражение, которое выполняется перед нормализацией. | from NodeDefinition |
| $this | cannotBeEmpty() Запрещает пустое значение узла. | from NodeDefinition |
| ExprBuilder | validate() Устанавливает выражение для проверки. | from NodeDefinition |
| $this | cannotBeOverwritten(bool $deny = true) Устанавливает, можно ли перезаписать узел. | from 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() Добавляет булеву переменную «enabled» для включения текущего раздела. | |
| $this | canBeDisabled() Добавляет булеву переменную «enabled» для включения текущего раздела. | |
| $this | performNoDeepMerging() Отключает глубокое слияние узла. | |
| $this | ignoreExtraKeys() Разрешает указывать дополнительные ключи конфигурации в массиве без выброса исключения. | |
| $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|ArrayNodeDefinition|VariableNodeDefinition|null end()
Возвращает родительский узел.
Возвращаемое значение
| NodeParentInterface|NodeBuilder|NodeDefinition|ArrayNodeDefinition|VariableNodeDefinition|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()
Разрешает указывать дополнительные ключи конфигурации в массиве без выброса исключения.
Эти значения конфигурации просто игнорируются и удаляются из результирующего массива. Это следует использовать только в особых случаях, когда вы хотите отправить весь массив конфигурации через специальное дерево, обрабатывающее только часть массива.
Возвращаемое значение
| $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/2.7/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.html