tutu-ru / lib-config
Config provider
Installs: 37 874
Dependents: 7
Suggesters: 0
Security: 0
Stars: 0
Watchers: 11
Forks: 1
Open Issues: 0
Requires
- php: ^7.1
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^7.4
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2025-03-01 00:19:36 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-файла