asgard/config

v0.3.1 2016-05-13 11:31 UTC

This package is not auto-updated.

Last update: 2024-04-13 14:44:42 UTC


README

#Config

Build Status

The Config package helps you manage the configuration of your application.

##Installation If you are working on an Asgard project you don't need to install this library as it is already part of the standard libraries.

composer require asgard/config 0.*

##Usage in the Asgard Framework

$config = $container['config'];

The container is often accessible as a method parameter or through a ContainerAware object. You can also use the singleton but it is not recommended.

##Usage outside the Asgard Framework

$config = new \Asgard\Config\Config;

##Methods

Config inherits \Asgard\Common\Bag to access its data.

Besides, you can load a configuration with:

$config->loadFile('file.yml');

Or a whole directory:

$config->loadDir('config/');

This will load files that in the directory.

Local files

If you want to add configuration specific to your local setup, name the file as such:

config.local.yml

The file will be loaded after others, and is ignored by default by the Asgard application .gitignore file.

Environment files

If you want to make configuration files specific to environments, name them as such:

config_[env].yml

With [env] being the name of the environment.

Calling:

$config->loadDir('config/', 'prod');

Will load default configuration files, plus all *_prod.yml files, while ignoring files like *_dev.yml

##Configuration file structure

A configuration file, like config.yml contains an array of parameters in YAML format:

database:
	host: localhost
	user: root
	password:
	database: asgard

Each key can be acessed like:

$config->get('database.user');
#or
$config['database.user'];
#or
$config['database']['user'];

##Commands

###Init

Initialize the configuration files.

Usage:

php console config:init

###Contributing

Please submit all issues and pull requests to the asgardphp/asgard repository.

License

The Asgard framework is open-sourced software licensed under the MIT license