Documentation

ArrayNode extends BaseNode
in package
implements PrototypeNodeInterface

Represents an Array node in the config tree.

Tags
author

Johannes M. Schmitt schmittjoh@gmail.com

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 = []

$deprecation

protected mixed $deprecation = []

$equivalentValues

protected mixed $equivalentValues = []

$finalValidationClosures

protected mixed $finalValidationClosures = []

$ignoreExtraKeys

protected mixed $ignoreExtraKeys = false

$normalizationClosures

protected mixed $normalizationClosures = []

$normalizeKeys

protected mixed $normalizeKeys = true

$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
throws
InvalidArgumentException

if the name contains a period

addChild()

Adds a child node.

public addChild(NodeInterface $node) : mixed
Parameters
$node : NodeInterface
Tags
throws
InvalidArgumentException

when the child node has no name

throws
InvalidArgumentException

when the child node's name is not unique

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>

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>|null

getInfo()

Returns info message.

public getInfo() : string|null
Return values
string|null

getName()

Returns the name of the node.

public getName() : string
Return values
string

getPath()

Returns the path of the node.

public getPath() : string
Return values
string

getXmlRemappings()

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
bool

hasDefaultValue()

Returns true when the node has a default value.

public hasDefaultValue() : bool
Return values
bool

isDeprecated()

Checks if this node is deprecated.

public isDeprecated() : bool
Return values
bool

isRequired()

Returns true when the node is required.

public isRequired() : bool
Return values
bool

merge()

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
bool

allowPlaceholders()

Tests if placeholder values are allowed for this node.

protected allowPlaceholders() : bool
Return values
bool

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
bool

mergeValues()

Merges two values together.

protected mergeValues(mixed $leftSide, mixed $rightSide) : mixed
Parameters
$leftSide : mixed
$rightSide : mixed
Tags
throws
InvalidConfigurationException
throws
RuntimeException

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

        
On this page

Search results