microparts/configuration-php

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

PHP微服务的配置模块。

2.2.2 2020-04-05 18:09 UTC

This package is auto-updated.

Last update: 2020-05-05 18:24:00 UTC


README

CircleCI codecov

此包永久迁移至 https://github.com/spacetab-io/configuration-php

专门为编写在PHP上的微服务而创建的配置模块。特别设计用于遵循应用配置的企业标准。

安装

composer require microparts/configuration-php

使用

默认情况下,配置目录路径和应用程序阶段从 /app/configuration 加载,使用 local 阶段。

  1. 简单
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.
  1. 如果想要覆盖默认值,可以向类构造函数传递2个参数或设置使用setter。
use Microparts\Configuration\Configuration;

$conf = new Configuration(__DIR__ . '/configuration', 'test');
$conf->load();

$conf->get('key'); // full example on the top
  1. 如果操作系统有环境变量 CONFIG_PATHSTAGE,则包的值将从中获取。
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
  1. 如果想要查看日志并了解加载过程,请将应用程序日志传递给以下方法
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来输出合并后的配置的总结果。有多种方式可以实现

  1. 安装到 /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
  1. 作为全局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

在此条件下,任何人获得本软件及其相关文档(“软件”)的副本(以下简称“软件”),均可免费使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许软件提供方进行上述行为,前提是

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是由于合同、侵权或其他行为引起的,无论这些索赔、损害或其他责任是否与软件或其使用或其他方式有关。