ConfigMerger combines parsed configuration layers into one array.
- merge parsed layers in deterministic order
- preserve recursive behavior for associative arrays
- replace indexed arrays entirely
- allow later values to override earlier ones
- one or more parsed arrays
- one merged array
Associative arrays merge recursively.
Example:
[
'service' => ['timeout' => 10, 'options' => ['cache' => true]],
]merged with:
[
'service' => ['options' => ['cache' => false]],
]results in:
[
'service' => ['timeout' => 10, 'options' => ['cache' => false]],
]Later scalar values override earlier ones.
Indexed arrays are replaced, not appended.
- merge order matters
- interpolation happens after merge, not during merge