melbahja/environ

仅从.env文件加载环境变量到$_ENV和运行时。

v1.1.0 2020-07-19 23:38 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:49 UTC


README

仅从.env(INI语法)文件加载PHP环境变量到$_ENV和运行时。

Build Status Twitter

安装

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