Neuron-PHP

SettingManagerFactory
in package

Factory for creating configured SettingManager instances

Simplifies the creation of SettingManager with the standard configuration hierarchy:

  1. Base application configuration
  2. Environment-specific configuration
  3. Base encrypted secrets
  4. Environment-specific encrypted secrets
  5. 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
SettingManager

createCustom()

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
SettingManager

createForTesting()

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
SettingManager

getExpectedStructure()

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>

        
On this page

Search results