PrototypedArrayNode

class PrototypedArrayNode extends ArrayNode

Represents a prototyped Array node in the config tree.

Methods

__construct(string $name, NodeInterface $parent = null) 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)

Sets an info message.

from BaseNode
string getInfo()

Returns info message.

from BaseNode
setExample(string|array $example)

Sets the example configuration for this node.

from BaseNode
string|array getExample()

Retrieves the example configuration for this node.

from BaseNode
addEquivalentValue(mixed $originalValue, mixed $equivalentValue)

Adds an equivalent value.

from BaseNode
setRequired(bool $boolean)

Set this node as required.

from BaseNode
setDeprecated(string|null $message)

Sets this node as deprecated.

from BaseNode
setAllowOverwrite(bool $allow)

Sets if this node can be overridden.

from BaseNode
setNormalizationClosures(array $closures)

Sets the closures used for normalization.

from BaseNode
setFinalValidationClosures(array $closures)

Sets the closures used for final validation.

from BaseNode
bool isRequired()

Checks if this node is required.

from BaseNode
bool isDeprecated()

Checks if this node is deprecated.

from BaseNode
string getDeprecationMessage(string $node, string $path)

Returns the deprecated message.

from BaseNode
string getName()

Returns the name of this node.

from BaseNode
string getPath()

Retrieves the path of this node.

from BaseNode
mixed merge(mixed $leftSide, mixed $rightSide)

Merges two values together.

from BaseNode
mixed normalize(mixed $value)

Normalizes a value, applying all normalization closures.

from BaseNode
NodeInterface|null getParent()

Returns parent node for this node.

from BaseNode
mixed finalize(mixed $value)

Finalizes a value, applying all finalization closures.

from BaseNode
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 node Name.

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

__construct(string $name, NodeInterface $parent = null)

Parameters

string $name The name of the node
NodeInterface $parent The parent of this node

Exceptions

InvalidArgumentException if the name contains a period

setAttribute($key, $value)

Parameters

$key
$value

getAttribute($key, $default = null)

Parameters

$key
$default

hasAttribute($key)

Parameters

$key

getAttributes()

setAttributes(array $attributes)

Parameters

array $attributes

removeAttribute($key)

Parameters

$key

setInfo(string $info)

Sets an info message.

Parameters

string $info

string getInfo()

Returns info message.

Return Value

string The info text

setExample(string|array $example)

Sets the example configuration for this node.

Parameters

string|array $example

string|array getExample()

Retrieves the example configuration for this node.

Return Value

string|array The example

addEquivalentValue(mixed $originalValue, mixed $equivalentValue)

Adds an equivalent value.

Parameters

mixed $originalValue
mixed $equivalentValue

setRequired(bool $boolean)

Set this node as required.

Parameters

bool $boolean Required node

setDeprecated(string|null $message)

Sets this node as deprecated.

You can use %node% and %path% placeholders in your message to display, respectively, the node name and its complete path.

Parameters

string|null $message Deprecated message

setAllowOverwrite(bool $allow)

Sets if this node can be overridden.

Parameters

bool $allow

setNormalizationClosures(array $closures)

Sets the closures used for normalization.

Parameters

array $closures An array of Closures used for normalization

setFinalValidationClosures(array $closures)

Sets the closures used for final validation.

Parameters

array $closures An array of Closures used for final validation

bool isRequired()

Checks if this node is required.

Return Value

bool If the node is required

bool isDeprecated()

Checks if this node is deprecated.

Return Value

bool

string getDeprecationMessage(string $node, string $path)

Returns the deprecated message.

Parameters

string $node the configuration node name
string $path the path of the node

Return Value

string

string getName()

Returns the name of this node.

Return Value

string The name of the node

string getPath()

Retrieves the path of this node.

Return Value

string The node path

final mixed merge(mixed $leftSide, mixed $rightSide)

Merges two values together.

Parameters

mixed $leftSide
mixed $rightSide

Return Value

mixed The merged values

Exceptions

ForbiddenOverwriteException

final mixed normalize(mixed $value)

Normalizes a value, applying all normalization closures.

Parameters

mixed $value The value to normalize

Return Value

mixed The normalized value

NodeInterface|null getParent()

Returns parent node for this node.

Return Value

NodeInterface|null

final mixed finalize(mixed $value)

Finalizes a value, applying all finalization closures.

Parameters

mixed $value The value to finalize

Return Value

mixed The finalized value

Exceptions

Exception
InvalidConfigurationException

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 node Name.

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/3.4/Symfony/Component/Config/Definition/PrototypedArrayNode.html