tutu-ru / lib-etcd-config
etcd implementation for lib-config
Installs: 32 254
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 11
Forks: 0
Open Issues: 0
Requires
- php: ^7.1
- psr/simple-cache: ^1.0
- tutu-ru/lib-config: ^2.0
- tutu-ru/lib-etcd: ^1.0
Requires (Dev)
- cache/array-adapter: ^1.0
- cache/simple-cache-bridge: ^1.0
- phpunit/phpunit: ^7.4
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2025-03-28 11:03:23 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);