srdorado / php-dotenv
从 .env 文件加载环境变量到 getenv(),$_ENV 和 $_SERVER
1.0.0
2023-02-12 19:49 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ^4.8.36
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-12 23:27:57 UTC
README
由srdorado提供
基础代码devcoder-xyz
从 .env 文件加载环境变量到 getenv(),$_ENV 和 $_SERVER。
安装
使用Composer
Composer 需求
composer require srdorado/php-dotenv
需求
- PHP 版本 >= 5.4
如何使用?
APP_ENV=dev
DATABASE_DNS=mysql:host=localhost;dbname=test;
DATABASE_USER="root"
DATABASE_PASSWORD=root
MODULE_ENABLED=true
NUMBER_LITERAL=0
NULL_VALUE=null
加载变量
<?php use Srdorado\Env\DotEnv; $absolutePathToEnvFile = __DIR__ . '/.env'; (new DotEnv($absolutePathToEnvFile))->load();
使用它们!
/** * string(33) "mysql:host=localhost;dbname=test;" */ var_dump(getenv('DATABASE_DNS')); /** * Removes double and single quotes from the variable: * * string(4) "root" */ var_dump(getenv('DATABASE_USER')); /** * Processes booleans as such: * * bool(true) */ var_dump(getenv('MODULE_ENABLED')); /** * Process the numeric value: * * int(0) */ var_dump(getenv('NUMBER_LITERAL')); /** * Check for literal null values: * * NULL */ var_dump(getenv('NULL_VALUE'));
适用于小型项目
简单易用!
处理器
此外,变量还将根据构造函数参数传递的配置进行解析。可用的处理器有
BooleanProcessor
VARIABLE=false将被处理为bool(false)
注意: VARIABLE="true"将被处理为string(4) "true"
QuotedProcessor
VARIABLE="anything"将被处理为string(8) "anything"
NullProcessor
VARIABLE=null将被处理为NULL
NumberProcessor
VARIABLE=0将被处理为int(0)
VARIABLE=0.1将被处理为float(0.1)
基础代码
由于需要创建一个库来管理与 php 版本 >= 5.4 兼容的配置文件中的环境变量,因此决定使用在 https://github.com/devcoder-xyz/php-dotenv 下发布的 MIT 许可证下的代码作为基础。