tutu-ru/lib-config

Config provider

2.1.0 2019-08-02 08:51 UTC

This package is auto-updated.

Last update: 2024-03-29 03:26:15 UTC


README

Базовый интерфейс для работы с конфигами.

Конфиг может быть изменяемым (MutableConfigInterface) или нет (ConfigInterface).

ConfigContainer

Содержит в себе конфиги и позволяет получать значения как у конкретной реализации, так и опрашивая всех (в соответствии с приоритетами).

Приоритеты настраиваются при инициализации. Чем больше число указанное при инициализации, тем выше приоритет.

Инициализация и использование

$config = new ConfigContainer();

$config->setConfig('app', new SomeAppConfig(), 0);
$config->setConfig('env', new SomeEnvConfig(), 1);

// опрос всех по приоритетам
$config->getValue('some.node');

// значение в конкретном конфиге
$config->getConfig('app')->getValue('some.node');
$config->getConfig('env')->getValue('some.node');

JsonConfig

Реализация конфига в виде json-файла