A lightweight and strong typed configuration file loader that supports PHP, INI, XML, JSON, and YAML files.
This package is a wrapper around hassankhan/config.
Social | Legal | Release | Tests | Code |
---|---|---|---|---|
|
|
Creating an instance of Strong Typed Config requires passing an instance of Noodlehaus\Config
:
use Noodlehaus\Config;
use SetBased\Config\TypedConfig;
$config = new TypedConfig(new Config('config.json'));
There are two flavors of methods for getting a configuration value:
- Mandatory keys (man for short). These methods will never return a null value.
- Optional keys (opt for short). These methods will return null if the key does not exists or has value
null
.
All methods will try to cast the value of a key to the required type using package setbased/helper-cast. I.e. if the value of key is string(1)
method
getManBool
will return bool(true)
and method getManInt
will return int(1)
.
All methods have two arguments:
- The key.
- An optional default value. this value will be returned if the key does not exists or has value
null
.
The table below gives an overview of all methods for getting the value of a key.
Method | Null Value | Return Type |
---|---|---|
getManArray | throws an exception | array |
getManBool | throws an exception | bool |
getManFiniteFloat | throws an exception | float |
getManFloat | throws an exception | float |
getManInt | throws an exception | int |
getManString | throws an exception | string |
getOptArray | returns null | array|null |
getOptBool | returns null | bool|null |
getOptFiniteFloat | returns null | float|null |
getOptFloat | returns null | float|null |
getOptInt | returns null | int|null |
getOptString | returns null | string|null |
Strong Typed Config can be installed using composer:
composer require setbased/typed-config
This project is licensed under the terms of the MIT license.