Class AggregateConfig.
Description
Represents an aggregated configuration loader that combines multiple configuration sources. This class MUST be used to merge multiple configurations into a single, unified configuration structure.
It SHALL lazily load and resolve configuration data only when invoked.
Interfaces
Properties
Methods
Constructs a new instance by accepting a variadic list of configuration objects.
Invokes the configuration aggregator.
Retrieves a configuration value by key.
Retrieves an iterator for traversing the configuration data.
Checks for existence of a configuration key.
Removes a configuration key.
Sets configuration data.
Exports the entire configuration to an array.
Retrieves or initializes the configuration instance.
private
ConfigInterface|null
$config
=
null
Description
holds the loaded configuration instance
private
array<string|int, ConfigInterface>
$configs
Description
A list of configuration providers to be aggregated. Each configuration MUST implement ConfigInterface.
Constructs a new instance by accepting a variadic list of configuration objects.
public
__construct(ConfigInterface
...$configs) : mixed
Description
These configuration objects MUST implement the ConfigInterface.
Parameters
Description
One or more configuration instances to aggregate.
Invokes the configuration aggregator.
public
__invoke() : ConfigInterface
Description
This method SHALL initialize a new ArrayConfig instance and populate it with the values from each provided configuration source. It MUST return a fully merged configuration in the form of a ConfigInterface implementation.
Return values
Description
the resulting merged configuration object
Retrieves a configuration value by key.
public
get(
string
$key[,
mixed|null
$default = null]) : mixed
Parameters
$key
:
string
Description
the configuration key to retrieve
$default
:
mixed|null
=
null
Description
the default value if the key is not found
Return values
Description
the value of the configuration key or the default
Retrieves an iterator for traversing the configuration data.
public
getIterator() : Traversable
Return values
Description
an iterator over the configuration
Checks for existence of a configuration key.
public
has(
string
$key) : bool
Parameters
$key
:
string
Description
the configuration key to check
Return values
Description
TRUE if the key exists, FALSE otherwise
Removes a configuration key.
public
remove(
string
$key) : void
Parameters
$key
:
string
Description
the configuration key to remove
Sets configuration data.
public
set(
array<string|int, mixed>|ConfigInterface|string
$key[,
mixed|null
$value = null]) : void
Parameters
Description
the key or set of keys/values to set
$value
:
mixed|null
=
null
Description
the value to set if a single key is provided
Exports the entire configuration to an array.
public
toArray() : array<string|int, mixed>
Return values
Description
the configuration as an associative array
Retrieves or initializes the configuration instance.
private
getConfig() : ConfigInterface
Return values
Description
the lazily-loaded configuration object