PrototypedArrayNode
class PrototypedArrayNode extends ArrayNode
Представляет узел Array с прототипом в дереве конфигурации.
Методы
| setNormalizeKeys($normalizeKeys) | из ArrayNode | |
| array | getChildren() Возвращает дочерние узлы этого узла. | из ArrayNode |
| setXmlRemappings(array $remappings) Устанавливает XML-преобразования, которые должны быть выполнены. | из ArrayNode | |
| array | getXmlRemappings() Получает XML-преобразования, которые должны быть выполнены. | из ArrayNode |
| setAddIfNotSet(bool $boolean) Устанавливает, следует ли добавлять значения по умолчанию для этого массива, если они не были определены ни в одном из файлов конфигурации. | из ArrayNode | |
| setAllowFalse(bool $allow) Устанавливает, разрешено ли значение false, указывающее, что массив должен быть удален. | из ArrayNode | |
| setAllowNewKeys(bool $allow) Устанавливает, можно ли определять новые ключи в последующих конфигурациях. | из ArrayNode | |
| setPerformDeepMerging(bool $boolean) Устанавливает, следует ли производить глубокое слияние. | из ArrayNode | |
| setIgnoreExtraKeys(bool $boolean, bool $remove = true) Следует ли просто игнорировать дополнительные ключи без исключения. | из ArrayNode | |
| setName(string $name) Устанавливает имя узла. | из ArrayNode | |
| bool | hasDefaultValue() Проверяет, имеет ли узел значение по умолчанию. | |
| mixed | getDefaultValue() Возвращает значение по умолчанию. | |
| addChild(NodeInterface $node) Отключает добавление конкретных дочерних узлов для узлов с прототипом. | ||
| 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() Возвращает прототип. |
Подробности
setNormalizeKeys($normalizeKeys)
Параметры
| $normalizeKeys |
array getChildren()
Возвращает потомков данного узла.
Значение возврата
| array | Потомки |
setXmlRemappings(array $remappings)
Устанавливает XML-преобразования, которые должны быть выполнены.
Параметры
| array | $remappings | Массив вида array(array(string, string)) |
array getXmlRemappings()
Получает XML-преобразования, которые должны быть выполнены.
Значение возврата
| array | $remappings — массив вида array(array(string, string)) |
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()
Проверяет, имеет ли узел значение по умолчанию.
Значение возврата
| bool | Имеет ли узел значение по умолчанию |
mixed getDefaultValue()
Возвращает значение по умолчанию.
Значение по умолчанию может быть явным или получено из значения по умолчанию прототипа.
Значение возврата
| mixed | Значение по умолчанию |
addChild(NodeInterface $node)
Отключить добавление конкретных потомков для узлов прототипов.
Параметры
| NodeInterface | $node |
Исключения
| Exception |
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.
http://api.symfony.com/4.0/Symfony/Component/Config/Definition/PrototypedArrayNode.html