borobudur/config

此软件包已废弃,不再维护。未建议替代软件包。

Borobudur 配置组件

安装: 568

依赖项: 1

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:borobudur-component

dev-master / 0.1.x-dev 2016-08-23 06:30 UTC

This package is not auto-updated.

Last update: 2017-10-06 09:44:13 UTC


README

Build Status License Code Climate Test Coverage Scrutinizer Code Quality SensioLabsInsight

Borobudur\Config 提供了配置管理和基础设施,适用于 php 5.4+。此项目灵感来自 Symfony 框架。

  • 配置管理器
  • 配置定义基础设施
  • 多配置,具有预置或附加行为
  • 文件加载器(加载或写入配置文件)

安装

  1. 获取 Composer
  2. 使用 composer require borobudur/config 安装 Borobudur\Config
  3. 在主 PHP 文件中添加 composer 自动加载:require __DIR__.'/vendor/autoload.php';

示例

示例 1 - 配置定义

use Borobudur\Config\ConfigDefinitionInterface;
use Borobudur\Config\Configuration;
use Borobudur\Config\Definition\Builder\TreeConfigBuilder;

class ConfigDefinition implements ConfigDefinitionInterface
{
    public function getConfigTreeBuilder()
    {
        $tree = new TreeConfigBuilder();
        $root = $tree->root('framework');

        $root
            ->children()
                ->scalarNode('host')
                    ->defaultValue('localhost')
                ->end()
                ->integerNode('port')->end()
                ->booleanNode('secure')
                    ->defaultFalse()
                ->end()
            ->end()
        ;

        return $tree;
    }
}

$config->prepend(new ConfigDefinition(), array(
    array(
        'port' => 80
    )
));

$config->get('framework');

/*
Output:
array(
    'port' => 80,
    'host' => 'localhost',
    'secure' => false
)
*/

示例 2 - 文件加载器

use Borobudur\Config\FileLoader;
use Borobudur\Config\FileLoader\FileLocator;

$loader = new FileLoader();
$configs = $loader->import(new FileLocator('config.yml')); // parse yaml file configuration to array

$loader->write($configs, 'config.ini'); // write array configuration to ini file.

许可证

MIT 许可