rayanlevert/dotenv

无依赖环境文件处理器 (.env),在 PHP 用户空间中加载 $_ENV、$_SERVER 和 getenv() 中的变量及其值

v2.1.0 2024-07-16 20:45 UTC

This package is auto-updated.

Last update: 2024-09-17 06:48:43 UTC


README

Packagist Version PHP from Packagist codecov

通过设置文件路径初始化实例

$oDotenv = new \RayanLevert\Dotenv\Dotenv('/file/to/.dotenv');

如果文件不可读,将抛出异常 RayanLevert\Dotenv\Exception

读取文件内容并在 $_ENV$_SERVERgetenv() 中加载每个变量的值

$oDotenv->load();

对于每个找到的新行,尝试将等号后面的值设置给变量的名称

TEST_VALUE1=value1 => $_ENV['TEST_VALUE1'] = value1

如果值是原始值,该值将被转换为 PHP 用户空间的类型

NAME=1 => $_ENV['NAME'] = 1
NAME=23.34 => $_ENV['NAME'] = 23.34 (float values will be casted only with a dot .)
NAME=true => $_ENV['NAME'] = true
NAME=false => $_ENV['NAME'] = false
NAME=string value => $_ENV['NAME'] = 'string value'

也支持多行变量! (通过 \n 分隔),使用双引号 (")

    NAME="This is a variable
    with
    multiple
    lines"

嵌套变量,可以通过相同的文件或 getenv() (通过操作系统或 docker 等设置) 先前声明

    NESTED=VALUE
    NAME=${NESTED}
    NAME2=${NESTED}/path

    $_ENV['NESTED'] = 'VALUE'
    $_ENV['NAME'] = 'VALUE'
    $_ENV['NAME2'] = 'VALUE/path'

如果至少有一个变量不在 $_ENV 超全局数组中,将抛出异常 RayanLevert\Dotenv\Exception

$oDotenv->required('FIRST_REQUIRED', 'SECOND_REQUIRED');

如果我们想要应用程序所需的变量,将抛出异常以防止某些逻辑错误