benconstable/quick-configure

此包已被放弃且不再维护。未建议替代包。

PHP项目的简单配置生成器

v0.1.0 2014-02-17 14:00 UTC

This package is not auto-updated.

Last update: 2021-04-30 21:29:22 UTC


README

#QuickConfigure

Build Status Latest Stable Version Latest Unstable Version Dependency Status

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 许可证。