codememory / config
与配置工作的库
v2.0
2021-09-04 15:26 UTC
Requires
- codememory/caching: ^1.1
- codememory/console: ^1.0
- codememory/fs: ^1.1
- codememory/global-config: ^1.1
- codememory/markup: ^2.0
- codememory/singleton: ^1.0
- codememory/support: ^1.2
Requires (Dev)
- symfony/var-dumper: ^5.2
This package is auto-updated.
Last update: 2024-09-04 21:44:26 UTC
README
安装
composer require codememory/config
安装包后,必须执行以下命令
- 如果不存在,则创建全局配置
php vendor/bin/gc-cdm g-config:init
- 合并所有配置
php vendor/bin/gc-cdm g-config:merge --all
.config 文件夹包含 codememory 包的全局配置
全局配置概览
{ "configuration": { "pathWithConfigs": "configs/", // Путь к папке со всеми режимами и их конфигами "mode": "development" // Активный режим конфигурации } }
使用方法
测试配置
# Конфигурация должна начинаться с ключа, который соответствует с именем файла test: # Бинды, которые будут доступны во всех файла конфигурации binds: configPath: "configs" paths: config: "%configPath%"
获取数据
<?php use Codememory\Components\Configuration\Configuration; require_once 'vendor/autoload.php'; // Открывает определенный конфиг $testConfig = Configuration::getInstance()->open('test'); // Получаем значение по ключу echo $testConfig->get('paths.config'); // codememory/configs
创建自定义模式
use Codememory\Components\Configuration\Modes\AbstractMode; class MyMode extends AbstractMode { public function getModeName() : string { return 'myMode'; } public function getSubdirectory() : string { return '/my_mode'; } public function getConfigsWithData() : array { // Обработчик получение всей конфигурации для данного режима } } Configuration::getInstance()->addModeHandler('MyMode'); // Осталось в глобальной конфигурации у опции "configuration -> mode" // поставить значение "myMode"