jasny / application-env
关于应用程序环境变量(APPLICATION_ENV)的逻辑
v1.0.2
2024-09-03 21:48 UTC
Requires
- php: >=8.1.0
Requires (Dev)
- phpstan/phpstan: ^1.12
- phpunit/phpunit: >= 10.5, < 12
- squizlabs/php_codesniffer: ^3.10
This package is auto-updated.
Last update: 2024-09-03 21:59:41 UTC
README
ApplicationEnv
关于常见 APPLICATION_ENV
环境变量的逻辑。
检查并处理点分隔的子环境,如 dev.testers.john
。
安装
composer require jasny/application-env
用法
use Jasny\ApplictionEnv; $env = new ApplicationEnv(getenv('APPLICATION_ENV') ?? 'dev'); echo "Application environment: ", (string)$env;
检查环境
is
方法检查当前应用程序环境是否与给定的环境匹配,或是否是其子环境。
if ($env->is("dev")) { ini_set('display_errors', true); }
这将匹配 dev
和 dev.testers.john
,但不匹配 staging
或 prod.worker
。
获取级别
array getLevels(int from = 1, ?int to = null, callable $callback = null)
getLevels
方法返回一个包含环境变量级别的数组。从级别 1 开始,从第一个级别开始,而从级别 0 开始将包括空字符串。
to
参数允许限制遍历的深度。默认情况下,完整的应用程序环境是最后一个条目。
可以指定一个 callback
,它将在每个级别上被调用。
示例
如果 APPLICATION_ENV
是 dev.testers.john
,那么 getLevels()
将产生;
[
'dev',
'dev.testers',
'dev.testers.john'
]
要创建要考虑的配置文件列表,您可能使用
$configFiles = $env->getLevels( from: 0, callback: fn(string $env) => $env === '' ? "settings.{$env}.yml" : "settings.yml" );