Provides an object that maps configuration keys to values.
You can install the package via composer:
composer require ghostwriter/config
You can also star (🌟) this repo to find it easier later.
$key = 'nested';
$path = 'path/to/config.php';
$options = [
'settings' => [
'enable' => true,
],
];
$config = $configFactory->create($options);
$config->toArray(); // ['settings' => ['enable'=>true]]
$config = Config::fromPath($path);
$config->toArray(); // ['settings' => ['enable'=>true]]
$config = Config::fromPath($path, $key);
$config->toArray(); // ['nested' => ['settings' => ['enable'=>true]]]
$config->has('nested.settings.disabled'); // true
//
$config = new Config($options);
$config->has('settings'); // true
$config->has('settings.enable'); // true
$config->get('settings.enable'); // true
$config = Config::new($options);
$config->has('settings.disabled'); // false
$config->get('settings.disabled'); // null
$config->get('settings.disabled', 'default'); // 'default'
$config->set('settings.disabled', false); // true
$config->has('settings.disabled'); // true
$config->get('settings.disabled'); // false
$config->toArray(); // ['settings' => ['enable'=>true,'disabled'=>false]]
$config->remove('settings.disabled');
$config->get('settings.disabled'); // null
$config->toArray(); // ['settings' => ['enable'=>true]]
interface ConfigInterface
{
public function get(string $key, mixed $default = null): mixed;
public function has(string $key): bool;
public function remove(string $key): void;
public function set(string $key, mixed $value): void;
public function toArray(): array;
}
composer test
Please see CHANGELOG.md for more information what has changed recently.
If you discover any security related issues, please email nathanael.esayeas@protonmail.com
instead of using the issue tracker.
The BSD-3-Clause. Please see License File for more information.