PrototypedArrayNode
class PrototypedArrayNode extends ArrayNode
Represents a prototyped Array node in the config tree.
Methods
setNormalizeKeys($normalizeKeys) | from ArrayNode | |
array | getChildren() Retrieves the children of this node. | from ArrayNode |
setXmlRemappings(array $remappings) Sets the xml remappings that should be performed. | from ArrayNode | |
array | getXmlRemappings() Gets the xml remappings that should be performed. | from ArrayNode |
setAddIfNotSet(bool $boolean) Sets whether to add default values for this array if it has not been defined in any of the configuration files. | from ArrayNode | |
setAllowFalse(bool $allow) Sets whether false is allowed as value indicating that the array should be unset. | from ArrayNode | |
setAllowNewKeys(bool $allow) Sets whether new keys can be defined in subsequent configurations. | from ArrayNode | |
setPerformDeepMerging(bool $boolean) Sets if deep merging should occur. | from ArrayNode | |
setIgnoreExtraKeys(bool $boolean, bool $remove = true) Whether extra keys should just be ignore without an exception. | from ArrayNode | |
setName(string $name) Sets the name of the node. | from ArrayNode | |
bool | hasDefaultValue() Checks if the node has a default value. | |
mixed | getDefaultValue() Retrieves the default value. | |
addChild(NodeInterface $node) Disable adding concrete children for prototyped nodes. | ||
setMinNumberOfElements(int $number) Sets the minimum number of elements that a prototype based node must contain. By default this is zero, meaning no elements. | ||
setKeyAttribute(string $attribute, bool $remove = true) Sets the attribute which value is to be used as key. | ||
string | getKeyAttribute() Retrieves the name of the attribute which value should be used as key. | |
setDefaultValue(string $value) Sets the default value of this node. | ||
setAddChildrenIfNoneSet(int|string|array|null $children = array('defaults')) Adds default children when none are set. | ||
setPrototype(PrototypeNodeInterface $node) Sets the node prototype. | ||
PrototypeNodeInterface | getPrototype() Retrieves the prototype. |
Details
setNormalizeKeys($normalizeKeys)
Parameters
$normalizeKeys |
array getChildren()
Retrieves the children of this node.
Return Value
array | The children |
setXmlRemappings(array $remappings)
Sets the xml remappings that should be performed.
Parameters
array | $remappings | An array of the form array(array(string, string)) |
array getXmlRemappings()
Gets the xml remappings that should be performed.
Return Value
array | $remappings an array of the form array(array(string, string)) |
setAddIfNotSet(bool $boolean)
Sets whether to add default values for this array if it has not been defined in any of the configuration files.
Parameters
bool | $boolean |
setAllowFalse(bool $allow)
Sets whether false is allowed as value indicating that the array should be unset.
Parameters
bool | $allow |
setAllowNewKeys(bool $allow)
Sets whether new keys can be defined in subsequent configurations.
Parameters
bool | $allow |
setPerformDeepMerging(bool $boolean)
Sets if deep merging should occur.
Parameters
bool | $boolean |
setIgnoreExtraKeys(bool $boolean, bool $remove = true)
Whether extra keys should just be ignore without an exception.
Parameters
bool | $boolean | To allow extra keys |
bool | $remove | To remove extra keys |
setName(string $name)
Sets the name of the node.
Parameters
string | $name | The name of the node |
bool hasDefaultValue()
Checks if the node has a default value.
Return Value
bool | If the node has a default value |
mixed getDefaultValue()
Retrieves the default value.
The default value could be either explicited or derived from the prototype default value.
Return Value
mixed | The default value |
addChild(NodeInterface $node)
Disable adding concrete children for prototyped nodes.
Parameters
NodeInterface | $node |
Exceptions
Exception |
setMinNumberOfElements(int $number)
Sets the minimum number of elements that a prototype based node must contain. By default this is zero, meaning no elements.
Parameters
int | $number |
setKeyAttribute(string $attribute, bool $remove = true)
Sets the attribute which value is to be used as key.
This is useful when you have an indexed array that should be an associative array. You can select an item from within the array to be the key of the particular item. For example, if "id" is the "key", then:
array(
array('id' => 'my_name', 'foo' => 'bar'),
);
becomes
array(
'my_name' => array('foo' => 'bar'),
);
If you'd like "'id' => 'my_name'" to still be present in the resulting array, then you can set the second argument of this method to false.
Parameters
string | $attribute | The name of the attribute which value is to be used as a key |
bool | $remove | Whether or not to remove the key |
string getKeyAttribute()
Retrieves the name of the attribute which value should be used as key.
Return Value
string | The name of the attribute |
setDefaultValue(string $value)
Sets the default value of this node.
Parameters
string | $value |
Exceptions
InvalidArgumentException | if the default value is not an array |
setAddChildrenIfNoneSet(int|string|array|null $children = array('defaults'))
Adds default children when none are set.
Parameters
int|string|array|null | $children | The number of children|The child name|The children names to be added |
setPrototype(PrototypeNodeInterface $node)
Sets the node prototype.
Parameters
PrototypeNodeInterface | $node |
PrototypeNodeInterface getPrototype()
Retrieves the prototype.
Return Value
PrototypeNodeInterface | The prototype |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Config/Definition/PrototypedArrayNode.html