SettingManagerFactory
in package
Factory for creating configured SettingManager instances
Simplifies the creation of SettingManager with the standard configuration hierarchy:
- Base application configuration
- Environment-specific configuration
- Base encrypted secrets
- Environment-specific encrypted secrets
- Environment variables (highest priority)
Table of Contents
Methods
- create() : SettingManager
- Create a fully configured SettingManager
- createCustom() : SettingManager
- Create a minimal SettingManager with only the specified sources
- createForTesting() : SettingManager
- Create a SettingManager for testing with in-memory configuration
- getExpectedStructure() : array<string|int, mixed>
- Get the standard configuration directory structure
- extractAllData() : array<string|int, mixed>
- Extract all data from a source as array
Methods
create()
Create a fully configured SettingManager
public
static create([string|null $environment = null ][, string $configPath = 'config' ]) : SettingManager
Deep merges all YAML sources into a single Memory source. Environment variables are kept as fallback only (not merged).
Parameters
- $environment : string|null = null
-
Force a specific environment (null = auto-detect)
- $configPath : string = 'config'
-
Base path for configuration files
Return values
SettingManagercreateCustom()
Create a minimal SettingManager with only the specified sources
public
static createCustom(array<string|int, mixed> $sources) : SettingManager
Parameters
- $sources : array<string|int, mixed>
-
Array of source configurations
Return values
SettingManagercreateForTesting()
Create a SettingManager for testing with in-memory configuration
public
static createForTesting(array<string|int, mixed> $config) : SettingManager
Parameters
- $config : array<string|int, mixed>
-
Configuration array
Return values
SettingManagergetExpectedStructure()
Get the standard configuration directory structure
public
static getExpectedStructure([string $basePath = 'config' ]) : array<string|int, mixed>
Parameters
- $basePath : string = 'config'
-
Base path for configuration
Return values
array<string|int, mixed>extractAllData()
Extract all data from a source as array
private
static extractAllData(ISettingSource $source) : array<string|int, mixed>
Parameters
- $source : ISettingSource