into-the-void / env
读取、解析和修改环境变量
1.0
2023-12-19 09:24 UTC
Requires
- php: ^7.1 || ^8.0
- ext-mbstring: *
- ext-pcre: *
Requires (Dev)
- doctrine/coding-standard: ^9.0
- phpunit/phpunit: ^7.5 || ^8.5 || ^9.6 || ^10.5
- squizlabs/php_codesniffer: ^3.7
- vimeo/psalm: ^4.30
This package is auto-updated.
Last update: 2024-09-19 12:43:25 UTC
README
读取、解析和修改环境变量
安装
您可以通过composer安装此库
composer require into-the-void/env
示例
use IntoTheVoid\Env\Env; getenv('APP_DEBUG'); // string(4) "true" Env::get('APP_DEBUG'); // bool(true) getenv('DB_PORT'); // string(4) "5432" Env::get('DB_PORT'); // int(5432) Env::getString('DB_HOST'); // string(9) "localhost" Env::getBool('APP_DEBUG'); // bool(true) Env::getInt('DB_PORT'); // int(5432) Env::getFloat('APP_MUL'); // double(1.25) Env::getList('PATH', ':'); // array(2) { "/usr/local/bin", "/usr/bin" } Env::has('DB_PORT'); // bool(true) Env::set('DB_PORT', 3306); Env::remove('DB_PORT');
您也可以使用辅助函数代替调用Env::get()
use function IntoTheVoid\Env\env; env('APP_DEBUG'); // bool(true)
行为
Env::getBool('NO_SUCH_VAR'); // NULL Env::getRequiredBool('NO_SUCH_VAR'); // Fatal error: MissingEnvironmentVariable Env::getBool('NOT_A_BOOL'); // Fatal error: UnparsableValue Env::getBool('NOT_A_BOOL', strict: false); // NULL
存储库
默认情况下,环境变量通过getenv(local_only: true)
和getenv()
读取。它们通过putenv()
、$_ENV
和$_SERVER
写入。
您可以使用Env::setRepository()
更改此行为。请查看src/Repository以获取可用的存储库。
标准化器
如果您想从环境变量中删除空格或引号,则可以通过Env::setNormalizer()
进行配置。请查看src/Normalizer以获取可用的标准化器。
默认情况下不执行此操作,因为您的环境变量不应包含任何不需要的空格或引号。如果它们确实存在,您可能应该修复这些环境变量的声明。
解析器
空值(不区分大小写):''
、'null'
、'nil'
、'none'
、'undefined'
、'empty'
真值(不区分大小写):'1'
、'true'
、'y'
、'yes'
、'on'
假值(不区分大小写):'0'
、'false'
、'n'
、'no'
、'off'
许可证
版权(C)Oliver Amann
本项目采用MIT许可证(MIT)。有关更多信息,请参阅LICENSE。