nick-jones/simpleconfig

A basic configuration container class

v0.1 2014-02-06 14:10 UTC

README

SimpleConfig is a basic configuration container, for PHP.

Installation

To pull down dependencies and check version compatibility you will need to run composer in the project root.

Usage

Values and factories can be provided in the constructor:

$container = new \SimpleConfig\Container(
    [
        'field1' => 'value',
        // etc
    ],
    [
        'field2' => function() {
            return new Foo();
        }
    ]
);

Alternatively, offsetSet and factory can be used to add values and factories respectively.

The Container class implements ArrayAccess, so values can simply be accessed using array syntax, e.g.

echo $container['field1']; // prints "value"

Factories are invoked once on field fetch, with the resulting value being cached for future use. Factories can retrieve other values from the container by simply utilising $this, e.g.

$container->factory('foo', function() {
    $class = $this['foo.class'];
    return new $class();
});