microparts / configuration-php
此包已废弃且不再维护。未建议替代包。
PHP微服务的配置模块。
2.2.2
2020-04-05 18:09 UTC
Requires
- microparts/logs-php: ^1.0
- psr/log: ^1.0
- symfony/console: ^4.3
- symfony/yaml: ^4.2 || ^5.0
Requires (Dev)
- humbug/box: ^3.8
- phpunit/phpunit: ^8
- symfony/var-dumper: ^4.2 || ^5.0
Suggests
- ext-yaml: For fast yaml parsing.
README
此包永久迁移至 https://github.com/spacetab-io/configuration-php
专门为编写在PHP上的微服务而创建的配置模块。特别设计用于遵循应用配置的企业标准。
安装
composer require microparts/configuration-php
使用
默认情况下,配置目录路径和应用程序阶段从 /app/configuration
加载,使用 local
阶段。
- 简单
use Microparts\Configuration\Configuration; $conf = new Configuration(); $conf->load(); var_dump($conf->all()); // get all config echo $conf->get('foo.bar'); // get nested key use dot notation echo $conf['foo.bar']; // thie same, but use ArrayAccess interface.
- 如果想要覆盖默认值,可以向类构造函数传递2个参数或设置使用setter。
use Microparts\Configuration\Configuration; $conf = new Configuration(__DIR__ . '/configuration', 'test'); $conf->load(); $conf->get('key'); // full example on the top
- 如果操作系统有环境变量
CONFIG_PATH
和STAGE
,则包的值将从中获取。
export CONFIG_PATH=/configuration export STAGE=prod
use Microparts\Configuration\Configuration; $conf = new Configuration(); $conf->load(); // loaded files from /configuration for prod stage. $conf->get('key'); // full example on the top
- 如果想要查看日志并了解加载过程,请将应用程序日志传递给以下方法
use Microparts\Configuration\Configuration; $conf = new Configuration(); $conf->setLogger($monolog); // PSR compatible logger. $conf->load(); $conf->get('key'); // full example on the top
就这些。
CLI 工具
此外,还可以安装简单的cli-utility来输出合并后的配置的总结果。有多种方式可以实现
- 安装到
/usr/local/bin
作为全局二进制文件
L=/usr/local/bin/st-conf && sudo curl -L https://github.com/microparts/configuration-php/releases/download/2.2.0/st-conf.phar -o $L && sudo chmod +x $L
- 作为全局composer要求安装库
第一步
composer global require microparts/configuration-php
它将被安装到 ~/.composer
目录。
如果您有 ~/.composer/vendor/bin
在全局路径中,您可以尝试运行以下命令
st-conf help dump
否则您可以注册该目录
echo 'export PATH=~/.composer/vendor/bin:$PATH' >> ~/.bash_profile source ~/.bash_profile
CLI 使用
Description: Dump loaded configuration Usage: dump [options] [--] [<path> [<stage>]] Arguments: path Configuration directory path stage Configuration $STAGE Options: -l, --inline[=INLINE] The level where you switch to inline YAML [default: 10] -s, --indent[=INDENT] The amount of spaces to use for indentation of nested nodes [default: 2] -d, --debug Debug -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug Help: Example of usage: `st-conf dump`. Options --inline=10 (nesting level) and --indent=2. If [path] and [stage] arguments not passed will be used global env variables CONFIG_PATH and STAGE.
依赖
- >= PHP 7.1
- Composer 用于安装包
许可
MIT 许可证
版权所有 © 2020 spacetab.io, Inc. https://spacetab.io
在此条件下,任何人获得本软件及其相关文档(“软件”)的副本(以下简称“软件”),均可免费使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许软件提供方进行上述行为,前提是
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是由于合同、侵权或其他行为引起的,无论这些索赔、损害或其他责任是否与软件或其使用或其他方式有关。