SymfonyConfigFactory
in package
Tags
Table of Contents
Constants
- FIELD_CONFIG_VERSION = 'configVersion'
- DEFAULT_CONFIG_VERSION = '2'
Properties
- $configurationDefinitions : array<string|int, ConfigurationInterface>
Methods
- __construct() : mixed
- createDefault() : ConfigurationMap
- createFromFile() : ConfigurationMap
- findDefinition() : ConfigurationInterface
- generateConfiguration() : ConfigurationMap
- processConfiguration() : array<string|int, mixed>
- Normalizes and validates the given values.
- upgradeConfiguration() : array<string|int, mixed>
Constants
FIELD_CONFIG_VERSION
public
final mixed
FIELD_CONFIG_VERSION
= 'configVersion'
DEFAULT_CONFIG_VERSION
private
mixed
DEFAULT_CONFIG_VERSION
= '2'
Properties
$configurationDefinitions
private
array<string|int, ConfigurationInterface>
$configurationDefinitions
Methods
__construct()
public
__construct(array<string|int, ConfigurationInterface> $definitions) : mixed
Parameters
- $definitions : array<string|int, ConfigurationInterface>
createDefault()
public
createDefault() : ConfigurationMap
Return values
ConfigurationMapcreateFromFile()
public
createFromFile(string $filename) : ConfigurationMap
Parameters
- $filename : string
Return values
ConfigurationMapfindDefinition()
private
findDefinition(string $configurationVersion) : ConfigurationInterface
Parameters
- $configurationVersion : string
Return values
ConfigurationInterfacegenerateConfiguration()
private
generateConfiguration(array<string|int, mixed> $values) : ConfigurationMap
Parameters
- $values : array<string|int, mixed>
Return values
ConfigurationMapprocessConfiguration()
Normalizes and validates the given values.
private
processConfiguration(array<string|int, mixed> $values) : array<string|int, mixed>
When this version of the configuration can be upgraded (which is detected by the Upgradable interface on the Configuration definition) then it will do so and re-run this method with the upgraded values. The 'configVersion' field will tell which definition should be used; when none is provided then a version 2 configuration is assumed.
Parameters
- $values : array<string|int, mixed>
-
because this method is called recursively, the provided shape varies and is the output of the ConfigurationDefinition matching the prior configVersion is used.
Return values
array<string|int, mixed> —the recursiveness of this method means that the output of this method has the shape of the current ConfigurationDefinition's output.
upgradeConfiguration()
private
upgradeConfiguration(Upgradable $definition, array<string|int, mixed> $configuration) : array<string|int, mixed>
Parameters
- $definition : Upgradable
- $configuration : array<string|int, mixed>
-
because this method is called as part of the recursive method processConfiguration, the provided shape varies and is the output of the normalisation process of provided ConfigurationDefinition.
Return values
array<string|int, mixed> —this method's output will match the shape of the output of the provided ConfigurationDefinition.