melbahja / environ
仅从.env文件加载环境变量到$_ENV和运行时。
v1.1.0
2020-07-19 23:38 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^8.0 || ^7.0
This package is auto-updated.
Last update: 2024-08-29 04:48:49 UTC
README
仅从.env(INI语法)文件加载PHP环境变量到$_ENV和运行时。
安装
composer require melbahja/environ
为什么?
一些环境库将变量加载到$_SERVER和$_REQUEST中,这是一个愚蠢的想法,可能导致暴露凭据并将敏感信息插入日志文件。《environ》仅通过putenv将变量加载到全局变量$_ENV和运行时。
用法
/path/to/your/project/.env
; set a var APP_MODE = "dev" ; array [DATABASE] HOST = '127.0.0.1' USERNAME = 'root' PASSWORD = null
YourScript.php
require 'vendor/autoload.php'; use Melbahja\Environ\Environ; // environ looking for .env or env.ini file in your directory Environ::load('/path/to/your/project'); var_dump(Environ::get('APP_MODE')); // string var_dump(Environ::get('DATABASE')); // array var_dump($_ENV['DATABASE']); // array
注意
数组在getenv()中不可用,您只能通过$_ENV或Environ::get()访问它们。
助手
# if you want a helper function env(string $var, $default = null) { return \Melbahja\Environ\Environ::get($var, $default); }
Environ方法
Environ::load(string $directory): bool
Environ::get(string $var, $default = null): mixed
Environ::set(string $var, $value): bool
# Example: Environ::is('apache'), Environ::is('cli') Environ::is(string $sapi): bool
许可证
MIT 版权(c)2018-present Mohamed Elbahja