borobudur / config
此软件包已废弃,不再维护。未建议替代软件包。
Borobudur 配置组件
dev-master / 0.1.x-dev
2016-08-23 06:30 UTC
Requires
- php: >=5.4.0
- symfony/yaml: 2.7.*
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2017-10-06 09:44:13 UTC
README
Borobudur\Config
提供了配置管理和基础设施,适用于 php 5.4+。此项目灵感来自 Symfony 框架。
- 配置管理器
- 配置定义基础设施
- 多配置,具有预置或附加行为
- 文件加载器(加载或写入配置文件)
安装
- 获取 Composer
- 使用
composer require borobudur/config
安装 Borobudur\Config - 在主 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.