Spec-Zone.ru › Symfony 4.1

ArrayNodeDefinition

class ArrayNodeDefinition extends NodeDefinition implements ParentNodeDefinitionInterface

Этот класс предоставляет удобный интерфейс для определения узла массива.

Свойства

protected $name из NodeDefinition
protected $normalization из NodeDefinition
protected $validation из NodeDefinition
protected $defaultValue из NodeDefinition
protected $default из NodeDefinition
protected $required из NodeDefinition
protected $deprecationMessage из NodeDefinition
protected $merge из NodeDefinition
protected $allowEmptyValue из NodeDefinition
protected $nullEquivalent из NodeDefinition
protected $trueEquivalent из NodeDefinition
protected $falseEquivalent из NodeDefinition
protected $pathSeparator из NodeDefinition
protected $parent из NodeDefinition
protected $attributes из NodeDefinition
protected $performDeepMerging
protected $ignoreExtraKeys
protected $removeExtraKeys
protected $children
protected $prototype
protected $atLeastOne
protected $allowNewKeys
protected $key
protected $removeKeyItem
protected $addDefaults
protected $addDefaultChildren
protected $nodeBuilder
protected $normalizeKeys

Методы

__construct(string|null $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
ValidationBuilder validation()

Получает конструктор для правил проверки.

from NodeDefinition
MergeBuilder merge()

Получает конструктор для правил слияния.

from NodeDefinition
NormalizationBuilder normalization()

Получает конструктор для правил нормализации.

from NodeDefinition
NodeInterface createNode()

Создаёт и настраивает узел в соответствии с этим определением.

$this setPathSeparator(string $separator)

Устанавливает разделитель пути.

from NodeDefinition
setBuilder(NodeBuilder $builder)

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

NodeBuilder 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)

Устанавливает нормализацию ключей.

$this append(NodeDefinition $node)

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

NodeBuilder getNodeBuilder()

Возвращает билдер узла для добавления дочерних элементов и прототипов.

validateConcreteNode(ArrayNode $node)

Проверяет конфигурацию конкретного узла.

validatePrototypeNode(PrototypedArrayNode $node)

Проверяет конфигурацию узла-прототипа.

NodeDefinition[] getChildNodeDefinitions()

Подробности

__construct(string|null $name, NodeParentInterface $parent = null)

Параметры

string|null $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

protected ValidationBuilder validation()

Получает построитель для правил проверки.

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

ValidationBuilder

protected MergeBuilder merge()

Получает построитель для правил слияния.

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

MergeBuilder

protected NormalizationBuilder normalization()

Получает построитель для правил нормализации.

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

NormalizationBuilder

protected NodeInterface createNode()

Инициализирует и настраивает узел в соответствии с этим определением.

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

NodeInterface $node Экземпляр узла

Исключения

InvalidDefinitionException Когда определение некорректно

$this setPathSeparator(string $separator)

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

Параметры

string $separator

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

$this

setBuilder(NodeBuilder $builder)

Устанавливает пользовательского построителя дочерних элементов.

Параметры

NodeBuilder $builder

NodeBuilder children()

Возвращает билдер для добавления дочерних узлов.

Значение возврата

NodeBuilder

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

$this append(NodeDefinition $node)

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

Использование:

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

Параметры

NodeDefinition $node

Значение возврата

$this

protected NodeBuilder getNodeBuilder()

Возвращает билдер узла, который используется для добавления дочерних элементов и шаблона.

Значение возврата

NodeBuilder Билдер узла

protected validateConcreteNode(ArrayNode $node)

Проверка конфигурации конкретного узла.

Параметры

ArrayNode $node

Исключения

InvalidDefinitionException

protected validatePrototypeNode(PrototypedArrayNode $node)

Проверка конфигурации узла прототипа.

Параметры

PrototypedArrayNode $node

Исключения

InvalidDefinitionException

NodeDefinition[] getChildNodeDefinitions()

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

NodeDefinition[]

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

Spec-Zone.ru

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