fuelphp / config
Fuel package for loading, saving and accessing config settings
Installs: 1 992
Dependents: 3
Suggesters: 0
Security: 0
Stars: 12
Watchers: 5
Forks: 3
Open Issues: 1
Requires
- php: >=5.4
- fuelphp/common: dev-master
- fuelphp/filesystem: dev-master
Requires (Dev)
- codeception/codeception: ~2.0
- phpunit/phpunit: 5.3.*
- scrutinizer/ocular: ^1.3
Suggests
- symfony/yaml: Allows YAML config handling.
This package is auto-updated.
Last update: 2023-01-30 20:24:11 UTC
README
Fuel package for loading, saving and accessing config settings.
There are multiple formats in which config files can be handled:
- php
- json
- yaml
- ini
The only odd one is ini
. It's the only filetype that can't be automatically formatted for saving. Symfony\Yaml is needed in order to parse and format .yml
files.
Loading
Get a new container
use Fuel\Config\Container;
$config = new Container;
We'll need to add a path to load the files from:
$config->addPath(__DIR__.'app/config');
Now we're able to load config files.
$config->load('name');
// Load app/config/name.php into the name group
$other = $config->load('other', false);
// load it, but don't store it
$config->load('data.json');
// Load json data
Default format
It's also possible to set a default config format. By default this is php
.
$config->setDefaultFormat('json');
$data = $config->load('data');
// this will load data.json
Environment settings
An environment will be used to load a secondary config file and will overwrite the default settings.
$config->setEnvironment('develop');
Saving
It's possible to write all the types (except for ini) to disk.
$container->save('data');
// or use an alternate location
$container->save('data', 'other/file');
The container is aware of overwrites so it'll always save the config file in the place last loaded, therefor overwriting all that came before.
Accessing data
The config Container extends the FuelPHP\Common\DataContainer class. Therefor it's possible to retrieve the data in two ways: through ->get and the ArrayAccess way.
$setting = $config->get('setting');
// is the same as
$setting = $config['setting'];
The first way does allow you to supply a default
Contributing
Thank you for considering contribution to FuelPHP framework. Please see CONTRIBUTING for details.
License
The MIT License (MIT). Please see License File for more information.