mex-vision / phpconfig
There is no license information available for the latest version (v1.0.1) of this package.
v1.0.1
2022-06-02 15:07 UTC
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-10-14 09:11:00 UTC
README
PhpConfig - удобная работа с конфигурацией вашего проекта.
Установка
Установка с помощью composer:
composer require mex-vision/phpconfig
Использование
Инициализация
use PhpConfig\Config; use PhpConfig\ConfigProvider; # Инициализация провайдера. $provider = new ConfigProvider('path/to/config', '.cfg'); # Инициализация конфигурации. $config = new Config($provider);
Чтение
# $result = include 'path/to/config/site.cfg.php'; # $result = $result['template']; $result = $config->get('site.template'); # Передать значение по умолчанию. $result = $config->get('site.template', 'default'); # Или $result = $config->get('site.template', function(){ return 'default'; });
Редактирование
# Запись в контейнер с конфигами. $config->set('site.template', 'new_template'); # Или $config->set('site.template', [ 'site_template' => 'new_site_template' ]);
Сохранение
Для сохранения конфигов вам необходимо передать название файла, без суфикса.
# Сохраняет значение ключа site в 'path/to/config/site.cfg.php'. $config->save('site'); # Сохраняет все конфиги. $config->save();
Источники конфигов
Если Вам необходимо использовать несколько дирректорий для хранения ваших конфигов, Вы можете использовать несколько провайдеров для обращения к ним.
# Инициализируем новый провайдер. $newProvider = new ConfigProvider('another/path/to/config', '.cfg'); # Добавляем его в наш объект и устанавливаем namespace для работы с ним. $cfg->addProvider('another', $newProvider); # Чтение. $result = $config->get('@another.site.template'); # Редактирование. $config->set('@another.site.template', 'new_template'); # Сохраниение. $config->save('@another.site'); # Сохраниение всех конфигов с провайдера. $config->save('@another');