Spec-Zone.ru › Symfony 3.4

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 setDeprecated(string $message = 'The child node "%node%" at path "%path%" is deprecated.')

Устанавливает узел как устаревший.

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 setDeprecated(string $message = 'The child node "%node%" at path "%path%" is deprecated.')

Устанавливает узел как устаревший.

Можно использовать %node% и %path% для отображения имени узла и его полного пути соответственно.

Параметры

string $message Сообщение об устаревании

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

$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()

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

ArrayNodeDefinition

EnumNodeDefinition enumPrototype()

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

EnumNodeDefinition

$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.4/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.html

Spec-Zone.ru

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