Spec-Zone.ru › Symfony 3.3

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)

Устанавливает прототип для дочерних узлов.

VariableNodeDefinition variablePrototype()
ScalarNodeDefinition scalarPrototype()
BooleanNodeDefinition booleanPrototype()
IntegerNodeDefinition integerPrototype()
FloatNodeDefinition floatPrototype()
ArrayNodeDefinition arrayPrototype()
EnumNodeDefinition enumPrototype()
$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(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|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

VariableNodeDefinition variablePrototype()

Значение результата

VariableNodeDefinition

ScalarNodeDefinition scalarPrototype()

Значение результата

ScalarNodeDefinition

BooleanNodeDefinition booleanPrototype()

Значение результата

BooleanNodeDefinition

IntegerNodeDefinition integerPrototype()

Значение результата

IntegerNodeDefinition

FloatNodeDefinition floatPrototype()

Значение результата

FloatNodeDefinition

ArrayNodeDefinition arrayPrototype()

Возвращаемое значение

Определение узла массива

Определение узла перечисления enumPrototype()

Возвращаемое значение

Определение узла перечисления

$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(Определение узла $node)

Добавляет определение узла.

$node = new ArrayNodeDefinition() ->children() ->scalarNode('foo')->end() ->scalarNode('baz')->end() ->end() ->append($this->getBarNodeDefinition()) ;

Параметры

Определение узла $node

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API