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')
- 返回null
Env::get('NOTFOUND', 'bad data')
- 返回'bad data'
Env::get('EMPTY')
- 返回''
Env::get('SPACES')
- 返回''
Env::get('WHITESPACE')
- 返回'Some whitespace'
Env::get('FALSE')
- 返回false
Env::get('TRUE')
- 返回true
Env::get('NULL')
- 返回null
Env::get('LOWERCASE')
- 返回'abc123'
Env::get('UPPERCASE')
- 返回'ABC123'
-
requireEnv -
public static function requireEnv($varname)
Env::requireEnv('NOTFOUND')
- 抛出EnvVarNotFoundException
Env::requireEnv('EMPTY')
- 抛出EnvVarNotFoundException
Env::requireEnv('WHITESPACE')
- 返回'Some whitespace'
Env::requireEnv('FALSE')
- 返回false
Env::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')
- 抛出EnvVarNotFoundException
Env::requireArray('EMPTY')
- 抛出EnvVarNotFoundException
Env::requireArray('ARRAY1')
- 返回['one']
Env::requireArray('ARRAY')
- 返回['one', 'two', '', 'three']