Skip to content

Load config files from various formats to PHP arrays and easily retrieve deeply nested items

License

Notifications You must be signed in to change notification settings

affinity4/config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Config

Load config files from various formats to PHP arrays and easily retrieve deeply nested items

Features

  • Specify any Loader which implements Affinity4\Config\LoaderInterface
  • Get entire array of values
  • Get specific value using simple, readable pattern

Installation

Affinity4/Config is available via composer:

composer require affinity4/config

Usage

Given the contents of config.yml are:

env: local
db:
    local:
        name: test
        user: root
        pass: root
        host: 127.0.0.1

Using the Affinity4 Yaml Loader:

$loader = new Affinity4\Config\Loader\Yaml(__DIR__ . '/config.yml');

$config = new Affinity4\Config\Config($loader);

Get complete array using the get() method without passing a key:

$config->get();

Would return:

[
    'env' => 'local',
    'db' => [
        'local' => [
            'name' => 'test',
            'user' => 'root',
            'pass' => 'root',
            'host' => '127.0.0.1',
        ]
    ]
]

Or get a specific value by specifying a the map to the nested key:

$config->get('db local name'); // test

Loaders

Affinity4/Config comes with these Loaders out of the box:

  • Json
  • Yaml
  • Neon
  • PHP

Tests

Run tests:

vendor/bin/phpunit

Licence

(c) 2017 Luke Watts (Affinity4.ie)

This software is licensed under the MIT license. For the full copyright and license information, please view the LICENSE file that was distributed with this source code.