codememory/config

与配置工作的库

安装: 129

依赖: 20

建议者: 0

安全性: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

类型:

v2.0 2021-09-04 15:26 UTC

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"