novemb3r/envision

一个轻量级库,将输入法功能带到环境变量中

v5.1.1 2021-07-12 14:07 UTC

This package is auto-updated.

Last update: 2024-09-12 21:06:55 UTC


README

packagist-dt-badge php-version-badge travis-build-status codecov license

将类型引入你的环境变量的最简单库!

安装

此库作为Composer包安装

$ composer require novemb3r/envision

{
    "require": {
        "novemb3r/envision": "dev-master"
    }
}

用法

示例

布尔值

获取布尔变量(默认为false)

Envision::getBool('FOO');

或使用 true 作为默认值

Envision::getBool('FOO', true);

布尔环境变量 应该 声明如下

B1=true
B2=True
B3=TrUe
B4=TRUE # because Envision converts boolean variables to lovercase

不应该 声明如下

BW1=1
BW2=yes
BW3=positive
BW4=ok

数字类型

获取整数或浮点数

Envision::getInt('FOO');
Envision::getFloat('FOO', 3.141592);

字符串

获取字符串

Envision::getString('FOO');
Envision::getString('FOO', 'default');

数组

获取指定如下格式的数组

FOO=v1,v2,v3
FOO2=v1,v2,v3,
FOO3=v1/v2/v3

通过传递分隔符(默认为 ,

Envision::getArray('FOO');
Envision::getArray('FOO1', ',');
Envision::getArray('FOO3', ',', ['v2']);

配置

Envision有一系列选项来控制其行为。默认行为是不在 $_ENV$_SERVER 数组中查找环境变量。如果你使用 symfony/dotenv 组件来加载 .env 文件,这是可以的。但你可以使用以下方式来更改此设置

Envision::$options = Envision::USE_ENV_ARRAY | Envision::USE_SERVER_ARRAY;

此外,你可以配置 Envision,如果找不到环境变量,则抛出 InvalidArgumentException

Envision::$options = Envision::ON_EMPTY_THROW;

或如果变量格式无效

Envision::$options = Envision::ON_INVALID_THROW;

默认情况下,Envision会在空值时返回默认值,并在无效值时抛出 InvalidArgumentException,这等于

Envision::$options = Envision::ON_EMPTY_RETURN_DEFAULT | Envision::ON_INVALID_THROW;

测试

要执行测试套件,请运行

$ composer test

始终保持测试覆盖率在100%,并在进行任何更改之前始终运行

$ composer prepare-push

测试