wfs / custom-environment-variables
基于环境变量的数组自定义器
0.0.1
2019-04-11 16:15 UTC
Requires
- php: ^7.1
- hassankhan/config: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpstan/phpstan: ^0.11.2
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.4
- symfony/yaml: ^4.2
- vlucas/phpdotenv: ^3.3
This package is auto-updated.
Last update: 2024-09-12 04:38:28 UTC
README
CustomEnvironmentVariables 受 node-config 的 自定义环境变量 功能的启发。
需求
PHP 7.1+
安装
$ composer require wfs/custom-environment-variables
用法
示例代码 usage.php
如下:
<?php require __DIR__ . '/vendor/autoload.php'; use Wfs\CustomEnvironmentVariables\Customizer; $customizer = new Customizer([ 'employee' => [ 'name' => 'NAME', 'age' => 'AGE', ] ]); $target = [ 'employee' => [ 'name' => 'alice', 'age' => '10', ] ]; $customized = $customizer->customize($target); echo("name: {$customized['employee']['name']}" . PHP_EOL); echo("age: {$customized['employee']['age']}" . PHP_EOL);
如果您未设置任何环境变量,usage.php
的结果是:
$ php usage.php name: alice age: 10
如果您设置了 NAME
,usage.php
的结果是:
$ export NAME=bob
$ php usage.php
name: bob
age: 10
如果您设置了 NAME
和 AGE
,usage.php
的结果是:
$ export NAME=bob $ export AGE=20 $ php usage.php name: bob age: 20
您将使用 CustomEnvironmentVariables
与 Config。
示例代码 config.php
如下:
<?php require __DIR__ . '/vendor/autoload.php'; use Wfs\CustomEnvironmentVariables\Customizer; use Noodlehaus\Config; use Noodlehaus\Parser\Yaml; $customizer = new Customizer([ 'employee' => [ 'name' => 'NAME', 'age' => 'AGE', ] ]); $target = new Config(<<<CONF employee: name: alice age: '10' # must be string CONF , new Yaml, true); echo("name: {$target['employee']['name']}" . PHP_EOL); echo("age: {$target['employee']['age']}" . PHP_EOL); $customized = $customizer->customize($target); echo("name: {$customized['employee']['name']}" . PHP_EOL); echo("age: {$customized['employee']['age']}" . PHP_EOL);
结果是:
$ export NAME=bob $ export AGE=20 $ php config.php name: alice age: 10 name: bob age: 20