PrototypedArrayNode
class PrototypedArrayNode extends ArrayNode
Представляет прототипизированный узел массива в дереве конфигурации.
Постоянные значения
| DEFAULT_PATH_SEPARATOR |
Свойства
| protected | $name | из BaseNode | |
| protected | $parent | из BaseNode | |
| protected | $normalizationClosures | из BaseNode | |
| protected | $finalValidationClosures | из BaseNode | |
| protected | $allowOverwrite | из BaseNode | |
| protected | $required | из BaseNode | |
| protected | $deprecationMessage | из BaseNode | |
| protected | $equivalentValues | из BaseNode | |
| protected | $attributes | из BaseNode | |
| protected | $pathSeparator | из BaseNode | |
| protected | $xmlRemappings | из ArrayNode | |
| protected | $children | из ArrayNode | |
| protected | $allowFalse | из ArrayNode | |
| protected | $allowNewKeys | из ArrayNode | |
| protected | $addIfNotSet | из ArrayNode | |
| protected | $performDeepMerging | из ArrayNode | |
| protected | $ignoreExtraKeys | из ArrayNode | |
| protected | $removeExtraKeys | из ArrayNode | |
| protected | $normalizeKeys | из ArrayNode | |
| protected | $prototype | ||
| protected | $keyAttribute | ||
| protected | $removeKeyAttribute | ||
| protected | $minNumberOfElements | ||
| protected | $defaultValue | ||
| protected | $defaultChildren |
Методы
| __construct(string|null $name, NodeInterface $parent = null, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR) | from BaseNode | |
| static void | setPlaceholder(string $placeholder, array $values) Зарегистрировать возможные (фиктивные) значения для динамического значения заполнителя. | from BaseNode |
| static void | setPlaceholderUniquePrefix(string $prefix) Устанавливает общий префикс для динамических значений заполнителей. | from BaseNode |
| static void | resetPlaceholders() Сбрасывает все текущие доступные значения заполнителей. | from BaseNode |
| setAttribute($key, $value) | from BaseNode | |
| getAttribute($key, $default = null) | from BaseNode | |
| hasAttribute($key) | from BaseNode | |
| getAttributes() | from BaseNode | |
| setAttributes(array $attributes) | from BaseNode | |
| removeAttribute($key) | from BaseNode | |
| setInfo(string $info) Устанавливает сообщение с информацией. | from BaseNode | |
| string | getInfo() Возвращает сообщение с информацией. | from BaseNode |
| setExample(string|array $example) Устанавливает пример конфигурации для этого узла. | from BaseNode | |
| string|array | getExample() Извлекает пример конфигурации для этого узла. | from BaseNode |
| addEquivalentValue(mixed $originalValue, mixed $equivalentValue) Добавляет эквивалентное значение. | from BaseNode | |
| setRequired(bool $boolean) Устанавливает этот узел как обязательный. | from BaseNode | |
| setDeprecated(string|null $message) Устанавливает этот узел как устаревший. | from BaseNode | |
| setAllowOverwrite(bool $allow) Устанавливает, может ли этот узел быть перезаписан. | from BaseNode | |
| setNormalizationClosures(array $closures) Устанавливает замыкания, используемые для нормализации. | from BaseNode | |
| setFinalValidationClosures(array $closures) Устанавливает замыкания, используемые для окончательной проверки. | from BaseNode | |
| bool | isRequired() Возвращает true, когда узел является обязательным. | from BaseNode |
| bool | isDeprecated() Проверяет, устарел ли этот узел. | from BaseNode |
| string | getDeprecationMessage(string $node, string $path) Возвращает сообщение об устаревании. | from BaseNode |
| string | getName() Возвращает имя узла. | from BaseNode |
| string | getPath() Возвращает путь к узлу. | from BaseNode |
| mixed | merge(mixed $leftSide, mixed $rightSide) Объединяет два значения вместе. | from BaseNode |
| mixed | normalize(mixed $value) Нормализует значение. | from BaseNode |
| $value | preNormalize($value) Нормализует ключи между различными форматами конфигурации. | from ArrayNode |
| NodeInterface|null | getParent() Возвращает родительский узел для этого узла. | from BaseNode |
| mixed | finalize(mixed $value) Завершает значение. | from BaseNode |
| validateType(mixed $value) Проверяет тип значения. | from ArrayNode | |
| mixed | normalizeValue(mixed $value) Нормализует значение. | |
| mixed | mergeValues(mixed $leftSide, mixed $rightSide) Объединяет значения вместе. | |
| mixed | finalizeValue(mixed $value) Завершает значение этого узла. | |
| bool | allowPlaceholders() Проверяет, разрешены ли значения заполнителей для этого узла. | from ArrayNode |
| bool | isHandlingPlaceholder() Проверяет, обрабатывается ли в настоящее время заполнители. | from BaseNode |
| array | getValidPlaceholderTypes() Получает разрешенные динамические типы для этого узла. | from BaseNode |
| setNormalizeKeys($normalizeKeys) | from ArrayNode | |
| array | getChildren() Возвращает дочерние узлы этого узла. | from ArrayNode |
| setXmlRemappings(array $remappings) Устанавливает xml-преобразования, которые должны быть выполнены. | from ArrayNode | |
| array | getXmlRemappings() Получает xml-преобразования, которые должны быть выполнены. | from ArrayNode |
| setAddIfNotSet(bool $boolean) Устанавливает, следует ли добавлять значения по умолчанию для этого массива, если они не были определены ни в одном из файлов конфигурации. | from ArrayNode | |
| setAllowFalse(bool $allow) Устанавливает, разрешено ли false в качестве значения, указывающего, что массив должен быть удален. | from ArrayNode |
| setAllowNewKeys(bool $allow) Устанавливает, могут ли быть определены новые ключи в последующих конфигурациях. | from ArrayNode | |
| setPerformDeepMerging(bool $boolean) Устанавливает, должно ли происходить глубокое слияние. | from ArrayNode | |
| setIgnoreExtraKeys(bool $boolean, bool $remove = true) Указывает, следует ли просто игнорировать дополнительные ключи без исключения. | from ArrayNode | |
| setName(string $name) Устанавливает имя узла. | from ArrayNode | |
| bool | hasDefaultValue() Возвращает true, когда узел имеет значение по умолчанию. | |
| mixed | getDefaultValue() Возвращает значение по умолчанию узла. | |
| addChild(NodeInterface $node) Отключает добавление конкретных дочерних элементов для узлов-прототипов. | ||
| array | remapXml(array $value) Перестраивает несколько одиночных значений в одно множественное значение. | from ArrayNode |
| setMinNumberOfElements(int $number) Устанавливает минимальное количество элементов, которые должен содержать узел на основе прототипа. По умолчанию это ноль, что означает отсутствие элементов. | ||
| setKeyAttribute(string $attribute, bool $remove = true) Устанавливает атрибут, значение которого будет использоваться в качестве ключа. | ||
| string | getKeyAttribute() Возвращает имя атрибута, значение которого должно использоваться в качестве ключа. | |
| setDefaultValue(string $value) Устанавливает значение по умолчанию для этого узла. | ||
| setAddChildrenIfNoneSet(int|string|array|null $children = array('defaults')) Добавляет дочерние элементы по умолчанию, если они не заданы. | ||
| setPrototype(PrototypeNodeInterface $node) Устанавливает прототип узла. | ||
| PrototypeNodeInterface | getPrototype() Возвращает прототип. |
Подробности
__construct(string|null $name, NodeInterface $parent = null, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR)
Параметры
| string|null | $name | |
| NodeInterface | $parent | |
| string | $pathSeparator |
Исключения
| InvalidArgumentException | если имя содержит точку |
static void setPlaceholder(string $placeholder, array $values)
Зарегистрировать возможные (фиктивные) значения для динамического значения заполнителя.
Соответствующие значения конфигурации будут обрабатываться с предоставленным значением по одному. После успешной обработки предоставленного значения значение конфигурации возвращается как есть, сохраняя заполнитель.
Параметры
| string | $placeholder | |
| array | $values |
Возвращаемое значение
| void |
static void setPlaceholderUniquePrefix(string $prefix)
Устанавливает общий префикс для динамических значений заполнителя.
Соответствующие значения конфигурации будут пропущены для обработки и возвращаются как есть, сохраняя заполнитель. Точное совпадение, предоставленное {см. setPlaceholder()}, может иметь приоритет.
Параметры
| string | $prefix |
Возвращаемое значение
| void |
static void resetPlaceholders()
Сбросить все текущие доступные заполнители.
Возвращаемое значение
| void |
setAttribute($key, $value)
Параметры
| $key | ||
| $value |
getAttribute($key, $default = null)
Параметры
| $key | ||
| $default |
hasAttribute($key)
Параметры
| $key |
getAttributes()
setAttributes(array $attributes)
Параметры
| array | $attributes |
removeAttribute($key)
Параметры
| $key |
setInfo(string $info)
Устанавливает сообщение о дополниетльной информации.
Параметры
| string | $info |
string getInfo()
Возвращает сообщение о дополниетльной информации.
Возвращаемое значение
| string | Текст информации |
setExample(string|array $example)
Устанавливает пример конфигурации для этого узла.
Параметры
| string|array | $example |
string|array getExample()
Возвращает пример конфигурации для этого узла.
Возвращаемое значение
| string|array | Пример |
addEquivalentValue(mixed $originalValue, mixed $equivalentValue)
Добавляет эквивалентное значение.
Параметры
| mixed | $originalValue | |
| mixed | $equivalentValue |
setRequired(bool $boolean)
Установить этот узел как обязательный.
Параметры
| bool | $boolean | Обязательный узел |
setDeprecated(string|null $message)
Установить этот узел как устаревший.
Вы можете использовать %node% и %path% в качестве заглушек в своем сообщении для отображения соответственно имени узла и его полного пути.
Параметры
| string|null | $message | Сообщение об устаревании |
setAllowOverwrite(bool $allow)
Устанавливает, может ли этот узел быть перезаписан.
Параметры
| bool | $allow |
setNormalizationClosures(array $closures)
Устанавливает замыкания, используемые для нормализации.
Параметры
| array | $closures | Массив замыканий, используемых для нормализации |
setFinalValidationClosures(array $closures)
Устанавливает замыкания, используемые для окончательной проверки.
Параметры
| array | $closures | Массив замыканий, используемых для окончательной проверки |
bool isRequired()
Возвращает true, когда узел обязателен.
Возвращаемое значение
| bool | Если узел обязателен |
bool isDeprecated()
Проверяет, является ли этот узел устаревшим.
Возвращаемое значение
| bool |
string getDeprecationMessage(string $node, string $path)
Возвращает сообщение об устаревании.
Параметры
| string | $node | имя узла конфигурации |
| string | $path | путь узла |
Возвращаемое значение
| string |
string getName()
Возвращает имя узла.
Возвращаемое значение
| string | Имя узла |
string getPath()
Возвращает путь узла.
Возвращаемое значение
| string | Путь узла |
final mixed merge(mixed $leftSide, mixed $rightSide)
Объединяет два значения вместе.
Параметры
| mixed | $leftSide | |
| mixed | $rightSide |
Возвращаемое значение
| mixed | Объединенное значение |
Исключения
| ForbiddenOverwriteException | если путь конфигурации не может быть перезаписан |
| InvalidTypeException | если тип значения неверен |
final mixed normalize(mixed $value)
Нормализует значение.
Параметры
| mixed | $value | Значение для нормализации |
Возвращаемое значение
| mixed | Нормализованное значение |
Исключения
| InvalidTypeException | если тип значения неверен |
protected $value preNormalize($value)
Нормализует ключи между различными форматами конфигурации.
Именно, вы, скорее всего, имеете foo_bar в YAML, а foo-bar в XML. После выполнения этого метода все ключи нормализуются до foo_bar.
Если у вас есть смешанный ключ, например, foo-bar_moo, он не будет изменен. Ключ также не будет изменен, если целевой ключ уже существует.
Параметры
| $value |
Возвращаемое значение
| $value | Нормализованное значение массива |
NodeInterface|null getParent()
Возвращает родительский узел для данного узла.
Возвращаемое значение
| NodeInterface|null |
final mixed finalize(mixed $value)
Окончательно обрабатывает значение.
Параметры
| mixed | $value | Значение для окончательной обработки |
Возвращаемое значение
| mixed | Обработанное значение |
Исключения
| InvalidTypeException | если тип значения неверен |
| InvalidConfigurationException | если значение является неверной конфигурацией |
protected validateType(mixed $value)
Проверяет тип значения.
Параметры
| смешанный тип | $value | Значение для проверки |
Исключения
| InvalidTypeException |
protected смешанный тип normalizeValue(смешанный тип $value)
Нормализует значение.
Параметры
| смешанный тип | $value | Значение для нормализации |
Значение возврата
| смешанный тип | Нормализованное значение |
Исключения
| InvalidConfigurationException | |
| DuplicateKeyException |
protected смешанный тип mergeValues(смешанный тип $leftSide, смешанный тип $rightSide)
Объединяет значения.
Параметры
| смешанный тип | $leftSide | |
| смешанный тип | $rightSide |
Значение возврата
| смешанный тип | Объединенное значение |
Исключения
| InvalidConfigurationException | |
| RuntimeException |
protected смешанный тип finalizeValue(смешанный тип $value)
Завершает обработку значения этого узла.
Параметры
| смешанный тип | $value | Значение для завершения обработки |
Значение возврата
| смешанный тип | Обработанное значение |
Исключения
| UnsetKeyException | |
| InvalidConfigurationException | если у узла недостаточно дочерних элементов |
protected bool allowPlaceholders()
Проверяет, разрешены ли значения-заполнители для этого узла.
Значение возврата
| bool |
protected bool isHandlingPlaceholder()
Проверяет, обрабатывается ли в данный момент значение-заполнитель.
Значение возврата
| bool |
protected array getValidPlaceholderTypes()
Возвращает разрешенные динамические типы для этого узла.
Значение возврата
| array |
setNormalizeKeys($normalizeKeys)
Параметры
| $normalizeKeys |
array getChildren()
Возвращает дочерние элементы этого узла.
Значение возврата
| array | Дочерние элементы |
setXmlRemappings(array $remappings)
Устанавливает отображения XML, которые должны быть выполнены.
Параметры
| array | $remappings | Массив вида array(array(строка, строка)) |
array getXmlRemappings()
Возвращает отображения XML, которые должны быть выполнены.
Значение возврата
| array | $remappings массив вида array(array(строка, строка)) |
setAddIfNotSet(bool $boolean)
Устанавливает, следует ли добавлять значения по умолчанию для этого массива, если он не определен ни в одном из файлов конфигурации.
Параметры
| bool | $boolean |
setAllowFalse(bool $allow)
Устанавливает, разрешено ли значение false, указывающее, что массив должен быть удален.
Параметры
| bool | $allow |
setAllowNewKeys(bool $allow)
Устанавливает, разрешены ли новые ключи в последующих конфигурациях.
Параметры
| bool | $allow |
setPerformDeepMerging(bool $boolean)
Устанавливает, должно ли происходить глубокое слияние.
Параметры
| bool | $boolean |
setIgnoreExtraKeys(bool $boolean, bool $remove = true)
Указывает, следует ли просто игнорировать дополнительные ключи без исключения.
Параметры
| bool | $boolean | Разрешить дополнительные ключи |
| bool | $remove | Удалить дополнительные ключи |
setName(string $name)
Устанавливает имя узла.
Параметры
| string | $name | Имя узла |
bool hasDefaultValue()
Возвращает true, если у узла есть значение по умолчанию.
Значение возврата
| bool | Узел имеет значение по умолчанию |
смешанный тип getDefaultValue()
Возвращает значение по умолчанию узла.
Значение возврата
| смешанный тип | Значение по умолчанию |
Исключения
| RuntimeException | если у узла нет значения по умолчанию |
addChild(NodeInterface $node)
Отключает добавление конкретных дочерних элементов для прототипизированных узлов.
Параметры
| NodeInterface | $node |
Исключения
| Exception |
protected array remapXml(array $value)
Пересопоставляет несколько одиночных значений в одно множественное значение.
Параметры
| array | $value | Исходные значения |
Значение возврата
| array | Пересопоставленные значения |
setMinNumberOfElements(int $number)
Устанавливает минимальное количество элементов, которое должен содержать прототипизированный узел. По умолчанию это ноль, что означает отсутствие элементов.
Параметры
| int | $number |
setKeyAttribute(string $attribute, bool $remove = true)
Устанавливает атрибут, значение которого будет использоваться в качестве ключа.
Это полезно, когда у вас есть индексированный массив, который должен быть ассоциативным массивом. Вы можете выбрать элемент из массива, который будет ключом конкретного элемента. Например, если "id" - это "ключ", то:
array(
array('id' => 'my_name', 'foo' => 'bar'),
);
становится
array(
'my_name' => array('foo' => 'bar'),
);
Если вы хотите, чтобы "'id' => 'my_name'" по-прежнему присутствовал в результирующем массиве, вы можете установить второе аргумент этого метода в false.
Параметры
| string | $attribute | Имя атрибута, значение которого должно использоваться в качестве ключа |
| bool | $remove | Удалять ли ключ |
string getKeyAttribute()
Возвращает имя атрибута, значение которого должно использоваться в качестве ключа.
Значение возврата
| string | Имя атрибута |
setDefaultValue(string $value)
Устанавливает значение по умолчанию для этого узла.
Параметры
| string | $value |
Исключения
| InvalidArgumentException | если значение по умолчанию не является массивом |
setAddChildrenIfNoneSet(int|string|array|null $children = array('defaults'))
Добавляет дочерние элементы по умолчанию, если они не установлены.
Параметры
| int|string|array|null | $children | Количество дочерних элементов|Имя дочернего элемента|Имена дочерних элементов для добавления |
setPrototype(PrototypeNodeInterface $node)
Устанавливает прототип узла.
Параметры
| PrototypeNodeInterface | $node |
PrototypeNodeInterface getPrototype()
Возвращает прототип.
Значение возврата
| PrototypeNodeInterface | Прототип |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Config/Definition/PrototypedArrayNode.html