navindex/simple-config

Simple library to create and modify a configuration structure.

v0.2.0 2021-09-27 07:35 UTC

This package is auto-updated.

Last update: 2024-04-19 06:21:19 UTC


README

Unit tests Code analysis Build Status Coverage Status License: MIT

1. What Is It

Simple config is a class to work with configuration settings. It helps you to perform actions like add, remove, check, append, subtract etc. by using dot notation keys.

2. What Is It Not

This library does not read the filesystem or other environment settings. To use an .env file to feed Simple config, use it together with phpdotenv or other similar library.

3. Installation

This package can be installed through Composer.

composer require navindex/simple-config

4. Usage

use Navindex\SimpleConfig\Config;

$options = [
    'number of fingers' => 5,
    'allowed pets' => ['dog', 'cat', 'spider'],
    'cat' => [
        'name' => 'Mia',
        'food' => ['tuna', 'chicken', 'lamb'],
    ],
    'dog' => [
        'name' => 'Bless',
        'color' => [
            'body' => 'white',
            'tail' => 'black',
        ]
    ],
    'spider' => true,
    42,
    'some text'
];

$config = new Config($options);

$config
    ->set('spider', false)
    ->unset('dog.color.tail')
    ->append('cat.food', 'salmon')
    ->subtract('cat.food', 'tuna');

$spider = $config->get('spider');

$doWeHaveDog = $config->has('dog');

$arrConfig = $config->toArray();

5. Actions

Method Attributes Returns Description
constructor $config - Constructor
set $key, $value self Saves a key value.
unset $key self Completely removes a key.
get $key, $default mixed Retrieves a key value.
has $key boolean Checks if a key exists and not null.
append $key, $value self Appends value(s) to an array.
subtract $key, $value self Substract value(s) from an array.
merge $config, $method self Merges another config into this one.
split $key Config Splits a sub-array of configuration options into a new config.
toArray - array Returns the entire configuration as an array.
serialize - string Generates a storable representation of the configuration.
unserialize $data - Sets the configuration from a stored representation.
count - int Counts the config items.
wrap $value self Static. If the given value is not an array, wraps it in one.
isAssoc $array boolean Static. Tests if the array is associative.
commonKeys $array1, $array2,... array Static. Returns the keys present in all arrays.

6. About Navindex

Navindex is a web development agency in Melbourne, Australia. You'll find an overview of our cmpany on our website.