silinternational / php-env
一个简单的PHP库,用于获取(或要求)环境变量,设计用于更智能地处理true、false和null。如果需要,可以将环境变量的值自动拆分为数组。
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
一个简单的PHP库,用于获取(或要求)环境变量,设计用于更智能地处理 true、false 和 null。如果需要,可以将环境变量的值自动拆分为数组。
构建状态
设置
- 克隆此仓库。
- 将
local.env.dist复制到local.env并根据需要更新GitHub.com令牌。 - 运行
make test以安装依赖项并运行PHPUnit测试。
Makefile脚本
有一个Makefile用于简化常见任务。
make test- 执行composer install并运行phpunit测试
Sil/PhpEnv命名空间中的类
- Env:
use Sil\PhpEnv\Env; - EnvVarNotFoundException:
use Sil\PhpEnv\EnvVarNotFoundException;
类 Env 函数摘要
-
get -
public static function get($varname, $default = null)- 搜索本地环境中的
$varname并返回相应的值字符串 - 如果
$varname未设置或值为空(只有空白),则get返回$default参数 - 如果与
$varname对应的值字符串为 'true'、'false' 或 'null',则get分别返回 php 的true、false或null值 - 注意:任何包含 'true' 的值字符串(无论大小写和/或前导/尾随空白)都将返回 php 的
true。
false和null的处理方式类似。其他值字符串将删除前导/尾随空白。
- 搜索本地环境中的
-
getString -
public static function getString($varname, $default = null): ?string- 搜索本地环境中的
$varname并返回相应的修剪后的值字符串 - 如果
$varname未设置或值为空(只有空白),则getString返回$default参数
- 搜索本地环境中的
-
getBoolean -
public static function getBoolean($varname, $default = null): ?bool- 搜索本地环境中的
$varname并返回相应的布尔值字符串 - 如果
$varname未设置或值为空(只有空白),则getBoolean返回$default参数 - 如果与
$varname对应的值字符串为 'true'、'false' 或 'null',则getBoolean分别返回 php 的true、false或null值 - 如果值不是布尔值,则
getBoolean返回$default参数 - 注意:任何包含 'true' 的值字符串(无论大小写和/或前导/尾随空白)都将返回 php 的
true。false和null的处理方式类似。
- 搜索本地环境中的
-
getArray -
public static function getArray($varname, array $default = [])- 搜索本地环境中的
$varname并返回以逗号分隔的元素作为 php 数组的值字符串 - 如果
$varname未设置或值为空(只有空白),则getArray返回$default参数,它必须是一个数组 - 如果 $default 不是一个数组,则抛出
TypeError异常
- 搜索本地环境中的
-
requireEnv -
public static function requireEnv($varname)- 搜索本地环境中的
$varname并返回相应的值字符串 - 如果
$varname未设置或值为空(仅空白),则抛出EnvVarNotFoundException - 'true'、'false' 和 'null' 的处理与
get()相同
- 搜索本地环境中的
-
requireArray -
public static function requireArray($varname)- 搜索本地环境中的
$varname并返回以逗号分隔的元素作为 php 数组的值字符串 - 如果
$varname未设置或值为空(仅空白),则抛出EnvVarNotFoundException
- 搜索本地环境中的
类 EnvVarNotFoundException
class EnvVarNotFoundException extends \Exception
EnvVarNotFoundException 由 requireEnv() 和 requireArray() 抛出,当 $varname 在本地环境或相应的值字符串中找不到(仅空白)时
Env 示例函数调用
假设这个 local.env 文件
EMPTY=
SPACES=
WHITESPACE= Some whitespace
FALSE=False
TRUE=TRUE
NULL=null
LOWERCASE=abc123
UPPERCASE=ABC123
ARRAY0=
ARRAY1=one
ARRAY=one,two,,three
示例函数调用和结果
-
get -
public static function get($varname, $default = null)Env::get('NOTFOUND')- 返回nullEnv::get('NOTFOUND', 'bad data')- 返回'bad data'Env::get('EMPTY')- 返回''Env::get('SPACES')- 返回''Env::get('WHITESPACE')- 返回'Some whitespace'Env::get('FALSE')- 返回falseEnv::get('TRUE')- 返回trueEnv::get('NULL')- 返回nullEnv::get('LOWERCASE')- 返回'abc123'Env::get('UPPERCASE')- 返回'ABC123'
-
requireEnv -
public static function requireEnv($varname)Env::requireEnv('NOTFOUND')- 抛出EnvVarNotFoundExceptionEnv::requireEnv('EMPTY')- 抛出EnvVarNotFoundExceptionEnv::requireEnv('WHITESPACE')- 返回'Some whitespace'Env::requireEnv('FALSE')- 返回falseEnv::requireEnv('LOWERCASE')- 返回'abc123'
-
getArray -
public static function getArray($varname, array $default = [])Env::getArray('NOTFOUND')- 返回[]Env::getArray('NOTFOUND', ['one', 'two'])- 返回['one', 'two']Env::getArray('NOTFOUND', 'one,two,three')- 抛出TypeError异常Env::getArray('ARRAY0')- 返回['']Env::getArray('ARRAY1')- 返回['one']Env::getArray('ARRAY')- 返回['one', 'two', '', 'three']
-
requireArray -
public static function requireArray($varname)Env::requireArray('NOTFOUND')- 抛出EnvVarNotFoundExceptionEnv::requireArray('EMPTY')- 抛出EnvVarNotFoundExceptionEnv::requireArray('ARRAY1')- 返回['one']Env::requireArray('ARRAY')- 返回['one', 'two', '', 'three']