italystrap/config

ItalyStrap Config Module - a simple and useful configuration package the OOP way


README

Build status Latest Stable Version Total Downloads Latest Unstable Version License PHP from Packagist

ItalyStrap Config Module - a simple and useful configuration package the OOP way

Table Of Contents

Installation

The best way to use this package is through Composer:

composer require italystrap/config

Documentation

Deprecation

List of all deprecated method that will be removed in the next major release (v3.x):

  • Config::push() => Config::set()
  • Config::add() => Config::set()
  • Config::remove() => Config::delete()
  • Config::all() => Config::toArray()
  • Config::toJson() => (string)\json_encode(new Config(), JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
  • ConfigThemeMods::class => No replacement class is provided
  • ConfigThemeModTest::class => No replacement class is provided
  • Config_Factory::class => ConfigFactory::class
  • Config_Interface::class => ConfigInterface::class
  • Move \JsonSerializable at the ConfigInterface::class level
  • The second parameter of Config::__construct() is deprecated and will be removed in the next major release, the first parameter is now the default value used for the configuration, to add additional configuration you can use the Config::merge() method like in the example below:
$defaultData = [
    'key'	=> 'value',
];

$additionalData = [
    'key'	=> 'new value',
];

$config = (new Config($defaultData))->merge($additionalData);
  • The static method ConfigFactory::make() will be converted to a non-static, so you will need to instantiate the class to use it, like in the example below:
$config = new ConfigFactory();
$config->make($data);

Contributing

All feedback / bug reports / pull requests are welcome.

License

Copyright (c) 2019 Enea Overclokk, ItalyStrap

This code is licensed under the MIT.

Credits

Ideas for the Config::class from:

For the Notation Array Search:

For the traverse method:

For some ideas: