config
Documentation / Directory
Reads and merges all supported configuration files in directory, optionally with filter.
The DirectoryReader
$reader = new DirectoryReader();
// Read all files in directory
$configuration = $reader->createConfiguration(path: 'my/config/directory/');
Constructor options
public function __construct(
string $class = Configuration::class,
array|null $readers = null,
);
class- An instance of any class implementingConfigurationInterfaceto be returned (defaultConfiguration).readers- Optional associative array of file readers. File extension as key, file reader class as class-string or instance.
Default readers are;
[
'json' => JsonFileReader::class,
'neon' => NeonFileReader::class,
'yaml' => YamlFileReader::class,
],
createConfiguration options
public function createConfiguration(
string $path = 'config/',
): ConfigurationInterface;
path- Directory to be read.
The path parameter may take a pattern compatible for glob (including brace option).
Examples;
my/config/directory- All files in directorymy/config/directory/config.json- Specific filemy/config/directory/*.json- All files with extensionmy/config/directory/{config1.json,config2.yaml}- Multiple filesmy/config/directory/*.{json,yaml}- All files with extensionsmy/config/*/*.json- All files with extension in subdirectories