benconstable / quick-configure
PHP项目的简单配置生成器
Requires
- php: >=5.3.0
- symfony/console: ~2.4
Requires (Dev)
- beberlei/assert: ~2.0
- behat/behat: ~2.4
- phpspec/phpspec: 2.0.*@dev
This package is not auto-updated.
Last update: 2021-04-30 21:29:22 UTC
README
#QuickConfigure
QuickConfigure使设置构建中的配置选项的繁琐过程变得快速简单(对你和你的代码使用者来说!)。
##为什么?
通常,框架或库需要您指定一些基本配置才能开始。例如,这可能涉及设置数据库详情或设置应用程序的基础URL。
通常,这涉及修改受版本控制的配置文件或手动创建文件(如Laravel的.env文件)。这很慢,不易操作,并使自动化构建变得困难。
QuickConfigure允许您指定一个简单的JSON模式,从中可以生成所需的配置。无需手动创建配置文件,无需肮脏的工作树,并且有一个简单的脚本可以集成到您的构建过程中。简单!
##安装
QuickConfigure通过Composer安装
{ "require": { "benconstable/quick-configure": "~0.1" } }
##基本用法
###quick-configure.json
QuickConfigure从quick-configure.json
文件生成配置。此文件具有以下格式
{ "field": { "description": "This field is important, please set it" }, "other_field": { "description": "We need this to be configured, too" } }
列出的每个字段都将配置并可在您的应用程序中访问。
###生成配置
生成配置是通过configure
命令完成的。只需运行
$ vendor/bin/quick-configure configure
这样就完成了!
###使用配置
QuickConfigure为在您的应用程序中访问生成的配置提供了一个简单的API
<?php // Load config $config = new \QuickConfigure\Config(); // And do something with it! $db = new Database($config->get('username'), $config->get('password'));
##高级用法
###环境
QuickConfigure允许您轻松地从同一quick-configure.json
文件配置不同的环境。
默认情况下,配置将没有环境(也称为“全局”环境)。要指定一个环境,只需将--env
标志传递给configure
命令,如下所示
$ vendor/bin/quick-configure configure --env development
然后,您可以在应用程序中像这样访问配置
<?php // Load development config $config = new \QuickConfigure\Config('development'); // And do something with it! $db = new Database($config->get('username'), $config->get('password')); // Then get some config from a different environment $testKey = $config->setEnv('test')->get('key');
###检查配置
如果您想检查当前配置,只需运行
$ vendor/bin/quick-configure show
当然,您可以提供--env
标志来检查环境配置
$ vendor/bin/quick-configure show --env development
###导出配置
如果您不想使用\QuickConfigure\Config
类,可以将配置导出到文件,以便在您的应用程序中以任何您想要的方式使用。
例如,要生成Laravel .env文件,您可以简单地运行
$ vendor/bin/quick-configure configure --env development $ vendor/bin/quick-configure dump --env development --format php --name .env.development
这将在您的当前目录中创建一个名为.env.development.php
的文件。
或者,使用--stdout
选项将配置直接输出到STDOUT。
####导出格式
--format
选项允许您指定导出文件的格式。目前,QuickConfigure支持
php
:PHP数组(反序列化)json
:JSON对象
##进一步帮助
QuickConfigure基于优秀的Symfony Console Component,因此您可以使用内置的帮助功能来获取有关实用工具的更多信息
# Show full help $ vendor/bin/quick-configure # Show help for the `configure` command $ vendor/bin/quick-configure configure --help
##开发 & 贡献
请随意分支并为此存储库做出贡献,但请确保您
- 提供测试(使用phpspec和/或Behat)
- 确保您不会破坏现有的测试
- 使用 PHP 注释块注释您的代码,并坚持编程风格。这是 PSR-0 和 PSR-1,具有 Laravel 的风味(我更喜欢命名空间和类声明)
要执行测试,请运行
$ vendor/bin/behat
我目前正在完成 phpspec 测试 - 它们很快就会完成。
### 许可证
QuickConfigure 是开源软件,许可协议为 MIT 许可证。