BaseNode
abstract class BaseNode implements NodeInterface
The base node class.
Constants
DEFAULT_PATH_SEPARATOR |
Properties
protected | $name | ||
protected | $parent | ||
protected | $normalizationClosures | ||
protected | $finalValidationClosures | ||
protected | $allowOverwrite | ||
protected | $required | ||
protected | $deprecationMessage | ||
protected | $equivalentValues | ||
protected | $attributes | ||
protected | $pathSeparator |
Methods
__construct(string|null $name, NodeInterface $parent = null, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR) | ||
static void | setPlaceholder(string $placeholder, array $values) Register possible (dummy) values for a dynamic placeholder value. | |
static void | setPlaceholderUniquePrefix(string $prefix) Sets a common prefix for dynamic placeholder values. | |
static void | resetPlaceholders() Resets all current placeholders available. | |
setAttribute($key, $value) | ||
getAttribute($key, $default = null) | ||
hasAttribute($key) | ||
getAttributes() | ||
setAttributes(array $attributes) | ||
removeAttribute($key) | ||
setInfo(string $info) Sets an info message. | ||
string | getInfo() Returns info message. | |
setExample(string|array $example) Sets the example configuration for this node. | ||
string|array | getExample() Retrieves the example configuration for this node. | |
addEquivalentValue(mixed $originalValue, mixed $equivalentValue) Adds an equivalent value. | ||
setRequired(bool $boolean) Set this node as required. | ||
setDeprecated(string|null $message) Sets this node as deprecated. | ||
setAllowOverwrite(bool $allow) Sets if this node can be overridden. | ||
setNormalizationClosures(array $closures) Sets the closures used for normalization. | ||
setFinalValidationClosures(array $closures) Sets the closures used for final validation. | ||
bool | isRequired() Returns true when the node is required. | |
bool | isDeprecated() Checks if this node is deprecated. | |
string | getDeprecationMessage(string $node, string $path) Returns the deprecated message. | |
string | getName() Returns the name of the node. | |
string | getPath() Returns the path of the node. | |
mixed | merge(mixed $leftSide, mixed $rightSide) Merges two values together. | |
mixed | normalize(mixed $value) Normalizes a value. | |
$value | preNormalize($value) Normalizes the value before any other normalization is applied. | |
NodeInterface|null | getParent() Returns parent node for this node. | |
mixed | finalize(mixed $value) Finalizes a value. | |
validateType(mixed $value) Validates the type of a Node. | ||
mixed | normalizeValue(mixed $value) Normalizes the value. | |
mixed | mergeValues(mixed $leftSide, mixed $rightSide) Merges two values together. | |
mixed | finalizeValue(mixed $value) Finalizes a value. | |
bool | allowPlaceholders() Tests if placeholder values are allowed for this node. | |
bool | isHandlingPlaceholder() Tests if a placeholder is being handled currently. | |
array | getValidPlaceholderTypes() Gets allowed dynamic types for this node. |
Details
__construct(string|null $name, NodeInterface $parent = null, string $pathSeparator = self::DEFAULT_PATH_SEPARATOR)
Parameters
string|null | $name | |
NodeInterface | $parent | |
string | $pathSeparator |
Exceptions
InvalidArgumentException | if the name contains a period |
static void setPlaceholder(string $placeholder, array $values)
Register possible (dummy) values for a dynamic placeholder value.
Matching configuration values will be processed with a provided value, one by one. After a provided value is successfully processed the configuration value is returned as is, thus preserving the placeholder.
Parameters
string | $placeholder | |
array | $values |
Return Value
void |
static void setPlaceholderUniquePrefix(string $prefix)
Sets a common prefix for dynamic placeholder values.
Matching configuration values will be skipped from being processed and are returned as is, thus preserving the placeholder. An exact match provided by {see setPlaceholder()} might take precedence.
Parameters
string | $prefix |
Return Value
void |
static void resetPlaceholders()
Resets all current placeholders available.
Return Value
void |
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()
Returns true when the 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 the node.
Return Value
string | The name of the node |
string getPath()
Returns the path of the 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 value |
Exceptions
ForbiddenOverwriteException | if the configuration path cannot be overwritten |
InvalidTypeException | if the value type is invalid |
final mixed normalize(mixed $value)
Normalizes a value.
Parameters
mixed | $value | The value to normalize |
Return Value
mixed | The normalized value |
Exceptions
InvalidTypeException | if the value type is invalid |
protected $value preNormalize($value)
Normalizes the value before any other normalization is applied.
Parameters
$value |
Return Value
$value | The normalized array value |
NodeInterface|null getParent()
Returns parent node for this node.
Return Value
NodeInterface|null |
final mixed finalize(mixed $value)
Finalizes a value.
Parameters
mixed | $value | The value to finalize |
Return Value
mixed | The finalized value |
Exceptions
InvalidTypeException | if the value type is invalid |
InvalidConfigurationException | if the value is invalid configuration |
abstract protected validateType(mixed $value)
Validates the type of a Node.
Parameters
mixed | $value | The value to validate |
Exceptions
InvalidTypeException | when the value is invalid |
abstract protected mixed normalizeValue(mixed $value)
Normalizes the value.
Parameters
mixed | $value | The value to normalize |
Return Value
mixed | The normalized value |
abstract protected mixed mergeValues(mixed $leftSide, mixed $rightSide)
Merges two values together.
Parameters
mixed | $leftSide | |
mixed | $rightSide |
Return Value
mixed | The merged value |
abstract protected mixed finalizeValue(mixed $value)
Finalizes a value.
Parameters
mixed | $value | The value to finalize |
Return Value
mixed | The finalized value |
protected bool allowPlaceholders()
Tests if placeholder values are allowed for this node.
Return Value
bool |
protected bool isHandlingPlaceholder()
Tests if a placeholder is being handled currently.
Return Value
bool |
protected array getValidPlaceholderTypes()
Gets allowed dynamic types for this node.
Return Value
array |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Config/Definition/BaseNode.html