tutu-ru/lib-etcd-config

etcd implementation for lib-config

1.0.0 2019-01-13 22:38 UTC

This package is auto-updated.

Last update: 2020-10-28 00:56:55 UTC


README

Реализация конфига хранящегося в 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);