Реализация конфига хранящегося в etcd.
Возможно использовать отдельно или с библиотекой tutu-ru/php-config через интерфейс TutuRu\Config\ConfigInterface
.
Конфиг загружается сразу при создании объекта.
Создание конфига:
use TutuRu\EtcdConfig\EtcdConfig;
$config = new EtcdConfig('/config/root/node');
$config->getValue('some.node');
Создание конфига с кэшированием данных на 60 секунд:
use TutuRu\EtcdConfig\EtcdConfig;
use Cache\Adapter\Apcu\ApcuCachePool;
use Cache\Bridge\SimpleCache\SimpleCacheBridge;
$cache = new SimpleCacheBridge(new ApcuCachePool());
$config = new EtcdConfig('/config/root/node', $cache, 60);
$config->getValue('some.node');
Создание конфига с возможностью изменения в рантайме:
use TutuRu\EtcdConfig\MutableEtcdConfig;
$config = new MutableEtcdConfig('/config/root/node');
$config->setValue('some.node', 'new value');
use TutuRu\EtcdConfig\EtcdConfigMutator;
$configMutator = new EtcdConfigMutator('/config/root/node');
$configMutator->init();
$configMutator->setValue('some/node', $value);