ArrayNode
extends BaseNode
in package
implements
PrototypeNodeInterface
Represents an Array node in the config tree.
Tags
Table of Contents
Interfaces
- PrototypeNodeInterface
- This interface must be implemented by nodes which can be used as prototypes.
Constants
- DEFAULT_PATH_SEPARATOR = '.'
Properties
- $addIfNotSet : mixed
- $allowFalse : mixed
- $allowNewKeys : mixed
- $allowOverwrite : mixed
- $attributes : mixed
- $children : mixed
- $deprecation : mixed
- $equivalentValues : mixed
- $finalValidationClosures : mixed
- $ignoreExtraKeys : mixed
- $name : mixed
- $normalizationClosures : mixed
- $normalizeKeys : mixed
- $parent : mixed
- $pathSeparator : mixed
- $performDeepMerging : mixed
- $removeExtraKeys : mixed
- $required : mixed
- $xmlRemappings : mixed
- $handlingPlaceholder : mixed
- $placeholders : array<string|int, mixed>
- $placeholderUniquePrefixes : array<string|int, mixed>
Methods
- __construct() : mixed
- addChild() : mixed
- Adds a child node.
- addEquivalentValue() : mixed
- Adds an equivalent value.
- finalize() : mixed
- Finalizes a value.
- getAttribute() : mixed
- getAttributes() : array<string|int, mixed>
- getChildren() : array<string, NodeInterface>
- Retrieves the children of this node.
- getDefaultValue() : mixed
- Returns the default value of the node.
- getDeprecation() : array<string|int, mixed>
- getExample() : string|array<string|int, mixed>|null
- Retrieves the example configuration for this node.
- getInfo() : string|null
- Returns info message.
- getName() : string
- Returns the name of the node.
- getParent() : NodeInterface|null
- Returns parent node for this node.
- getPath() : string
- Returns the path of the node.
- getXmlRemappings() : array<string|int, mixed>
- Gets the xml remappings that should be performed.
- hasAttribute() : bool
- hasDefaultValue() : bool
- Returns true when the node has a default value.
- isDeprecated() : bool
- Checks if this node is deprecated.
- isRequired() : bool
- Returns true when the node is required.
- merge() : mixed
- Merges two values together.
- normalize() : mixed
- Normalizes a value.
- removeAttribute() : mixed
- setAddIfNotSet() : mixed
- Sets whether to add default values for this array if it has not been defined in any of the configuration files.
- setAllowFalse() : mixed
- Sets whether false is allowed as value indicating that the array should be unset.
- setAllowNewKeys() : mixed
- Sets whether new keys can be defined in subsequent configurations.
- setAllowOverwrite() : mixed
- Sets if this node can be overridden.
- setAttribute() : mixed
- setAttributes() : mixed
- setDeprecated() : mixed
- Sets this node as deprecated.
- setExample() : mixed
- Sets the example configuration for this node.
- setFinalValidationClosures() : mixed
- Sets the closures used for final validation.
- setIgnoreExtraKeys() : mixed
- Whether extra keys should just be ignored without an exception.
- setInfo() : mixed
- Sets an info message.
- setName() : mixed
- Sets the name of the node.
- setNormalizationClosures() : mixed
- Sets the closures used for normalization.
- setNormalizeKeys() : mixed
- setPerformDeepMerging() : mixed
- Sets if deep merging should occur.
- setRequired() : mixed
- Set this node as required.
- setXmlRemappings() : mixed
- Sets the xml remappings that should be performed.
- shouldIgnoreExtraKeys() : bool
- Returns true when extra keys should be ignored without an exception.
- allowPlaceholders() : bool
- Tests if placeholder values are allowed for this node.
- finalizeValue() : mixed
- Finalizes a value.
- getValidPlaceholderTypes() : array<string|int, mixed>
- Gets allowed dynamic types for this node.
- isHandlingPlaceholder() : bool
- Tests if a placeholder is being handled currently.
- mergeValues() : mixed
- Merges two values together.
- normalizeValue() : mixed
- Normalizes the value.
- preNormalize() : mixed
- Normalizes the value before any other normalization is applied.
- remapXml() : array<string|int, mixed>
- Remaps multiple singular values to a single plural value.
- validateType() : mixed
- Validates the type of a Node.
- doValidateType() : void
- resolvePlaceholderValue() : mixed
Constants
DEFAULT_PATH_SEPARATOR
public
mixed
DEFAULT_PATH_SEPARATOR
= '.'
Properties
$addIfNotSet
protected
mixed
$addIfNotSet
= false
$allowFalse
protected
mixed
$allowFalse
= false
$allowNewKeys
protected
mixed
$allowNewKeys
= true
$allowOverwrite
protected
mixed
$allowOverwrite
= true
$attributes
protected
mixed
$attributes
= []
$children
protected
mixed
$children
= []
$deprecation
protected
mixed
$deprecation
= []
$equivalentValues
protected
mixed
$equivalentValues
= []
$finalValidationClosures
protected
mixed
$finalValidationClosures
= []
$ignoreExtraKeys
protected
mixed
$ignoreExtraKeys
= false
$name
protected
mixed
$name
$normalizationClosures
protected
mixed
$normalizationClosures
= []
$normalizeKeys
protected
mixed
$normalizeKeys
= true
$parent
protected
mixed
$parent
$pathSeparator
protected
mixed
$pathSeparator
$performDeepMerging
protected
mixed
$performDeepMerging
= true
$removeExtraKeys
protected
mixed
$removeExtraKeys
= true
$required
protected
mixed
$required
= false
$xmlRemappings
protected
mixed
$xmlRemappings
= []
$handlingPlaceholder
private
mixed
$handlingPlaceholder
= null
$placeholders
private
static array<string|int, mixed>
$placeholders
= []
$placeholderUniquePrefixes
private
static array<string|int, mixed>
$placeholderUniquePrefixes
= []
Methods
__construct()
public
__construct(string|null $name[, NodeInterface $parent = null ][, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR ]) : mixed
Parameters
- $name : string|null
- $parent : NodeInterface = null
- $pathSeparator : string = self::DEFAULT_PATH_SEPARATOR
Tags
addChild()
Adds a child node.
public
addChild(NodeInterface $node) : mixed
Parameters
- $node : NodeInterface
Tags
addEquivalentValue()
Adds an equivalent value.
public
addEquivalentValue(mixed $originalValue, mixed $equivalentValue) : mixed
Parameters
- $originalValue : mixed
- $equivalentValue : mixed
finalize()
Finalizes a value.
public
final finalize(mixed $value) : mixed
Parameters
- $value : mixed
getAttribute()
public
getAttribute(string $key[, mixed $default = null ]) : mixed
Parameters
- $key : string
- $default : mixed = null
getAttributes()
public
getAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>getChildren()
Retrieves the children of this node.
public
getChildren() : array<string, NodeInterface>
Return values
array<string, NodeInterface>getDefaultValue()
Returns the default value of the node.
public
getDefaultValue() : mixed
getDeprecation()
public
getDeprecation(string $node, string $path) : array<string|int, mixed>
Parameters
- $node : string
-
The configuration node name
- $path : string
-
The path of the node
Return values
array<string|int, mixed>getExample()
Retrieves the example configuration for this node.
public
getExample() : string|array<string|int, mixed>|null
Return values
string|array<string|int, mixed>|nullgetInfo()
Returns info message.
public
getInfo() : string|null
Return values
string|nullgetName()
Returns the name of the node.
public
getName() : string
Return values
stringgetParent()
Returns parent node for this node.
public
getParent() : NodeInterface|null
Return values
NodeInterface|nullgetPath()
Returns the path of the node.
public
getPath() : string
Return values
stringgetXmlRemappings()
Gets the xml remappings that should be performed.
public
getXmlRemappings() : array<string|int, mixed>
Return values
array<string|int, mixed> —an array of the form [[string, string]]
hasAttribute()
public
hasAttribute(string $key) : bool
Parameters
- $key : string
Return values
boolhasDefaultValue()
Returns true when the node has a default value.
public
hasDefaultValue() : bool
Return values
boolisDeprecated()
Checks if this node is deprecated.
public
isDeprecated() : bool
Return values
boolisRequired()
Returns true when the node is required.
public
isRequired() : bool
Return values
boolmerge()
Merges two values together.
public
final merge(mixed $leftSide, mixed $rightSide) : mixed
Parameters
- $leftSide : mixed
- $rightSide : mixed
normalize()
Normalizes a value.
public
final normalize(mixed $value) : mixed
Parameters
- $value : mixed
removeAttribute()
public
removeAttribute(string $key) : mixed
Parameters
- $key : string
setAddIfNotSet()
Sets whether to add default values for this array if it has not been defined in any of the configuration files.
public
setAddIfNotSet(bool $boolean) : mixed
Parameters
- $boolean : bool
setAllowFalse()
Sets whether false is allowed as value indicating that the array should be unset.
public
setAllowFalse(bool $allow) : mixed
Parameters
- $allow : bool
setAllowNewKeys()
Sets whether new keys can be defined in subsequent configurations.
public
setAllowNewKeys(bool $allow) : mixed
Parameters
- $allow : bool
setAllowOverwrite()
Sets if this node can be overridden.
public
setAllowOverwrite(bool $allow) : mixed
Parameters
- $allow : bool
setAttribute()
public
setAttribute(string $key, mixed $value) : mixed
Parameters
- $key : string
- $value : mixed
setAttributes()
public
setAttributes(array<string|int, mixed> $attributes) : mixed
Parameters
- $attributes : array<string|int, mixed>
setDeprecated()
Sets this node as deprecated.
public
setDeprecated(string $package, string $version[, string $message = 'The child node "%node%" at path "%path%" is deprecated.' ]) : mixed
Parameters
- $package : string
-
The name of the composer package that is triggering the deprecation
- $version : string
-
The version of the package that introduced the deprecation
- $message : string = 'The child node "%node%" at path "%path%" is deprecated.'
-
the deprecation message to use
You can use %node% and %path% placeholders in your message to display, respectively, the node name and its complete path
setExample()
Sets the example configuration for this node.
public
setExample(string|array<string|int, mixed> $example) : mixed
Parameters
- $example : string|array<string|int, mixed>
setFinalValidationClosures()
Sets the closures used for final validation.
public
setFinalValidationClosures(array<string|int, Closure> $closures) : mixed
Parameters
- $closures : array<string|int, Closure>
-
An array of Closures used for final validation
setIgnoreExtraKeys()
Whether extra keys should just be ignored without an exception.
public
setIgnoreExtraKeys(bool $boolean[, bool $remove = true ]) : mixed
Parameters
- $boolean : bool
-
To allow extra keys
- $remove : bool = true
-
To remove extra keys
setInfo()
Sets an info message.
public
setInfo(string $info) : mixed
Parameters
- $info : string
setName()
Sets the name of the node.
public
setName(string $name) : mixed
Parameters
- $name : string
setNormalizationClosures()
Sets the closures used for normalization.
public
setNormalizationClosures(array<string|int, Closure> $closures) : mixed
Parameters
- $closures : array<string|int, Closure>
-
An array of Closures used for normalization
setNormalizeKeys()
public
setNormalizeKeys(bool $normalizeKeys) : mixed
Parameters
- $normalizeKeys : bool
setPerformDeepMerging()
Sets if deep merging should occur.
public
setPerformDeepMerging(bool $boolean) : mixed
Parameters
- $boolean : bool
setRequired()
Set this node as required.
public
setRequired(bool $boolean) : mixed
Parameters
- $boolean : bool
setXmlRemappings()
Sets the xml remappings that should be performed.
public
setXmlRemappings(array<string|int, mixed> $remappings) : mixed
Parameters
- $remappings : array<string|int, mixed>
-
An array of the form [[string, string]]
shouldIgnoreExtraKeys()
Returns true when extra keys should be ignored without an exception.
public
shouldIgnoreExtraKeys() : bool
Return values
boolallowPlaceholders()
Tests if placeholder values are allowed for this node.
protected
allowPlaceholders() : bool
Return values
boolfinalizeValue()
Finalizes a value.
protected
finalizeValue(mixed $value) : mixed
Parameters
- $value : mixed
Tags
getValidPlaceholderTypes()
Gets allowed dynamic types for this node.
protected
getValidPlaceholderTypes() : array<string|int, mixed>
Return values
array<string|int, mixed>isHandlingPlaceholder()
Tests if a placeholder is being handled currently.
protected
isHandlingPlaceholder() : bool
Return values
boolmergeValues()
Merges two values together.
protected
mergeValues(mixed $leftSide, mixed $rightSide) : mixed
Parameters
- $leftSide : mixed
- $rightSide : mixed
Tags
normalizeValue()
Normalizes the value.
protected
normalizeValue(mixed $value) : mixed
Parameters
- $value : mixed
Tags
preNormalize()
Normalizes the value before any other normalization is applied.
protected
preNormalize(mixed $value) : mixed
Namely, you mostly have foo_bar in YAML while you have foo-bar in XML. After running this method, all keys are normalized to foo_bar.
If you have a mixed key like foo-bar_moo, it will not be altered. The key will also not be altered if the target key already exists.
Parameters
- $value : mixed
remapXml()
Remaps multiple singular values to a single plural value.
protected
remapXml(array<string|int, mixed> $value) : array<string|int, mixed>
Parameters
- $value : array<string|int, mixed>
Return values
array<string|int, mixed>validateType()
Validates the type of a Node.
protected
validateType(mixed $value) : mixed
Parameters
- $value : mixed
doValidateType()
private
doValidateType(mixed $value) : void
Parameters
- $value : mixed
resolvePlaceholderValue()
private
static resolvePlaceholderValue(mixed $value) : mixed
Parameters
- $value : mixed