phoole/env

PHP 简单环境变量加载库

1.1.0 2019-11-19 07:00 UTC

This package is auto-updated.

Last update: 2024-09-19 18:18:21 UTC


README

Build Status Scrutinizer Code Quality Code Climate PHP 7 Latest Stable Version License

PHP 简单环境变量加载库。它从 .env 文件加载环境变量。它需要 PHP 7.2+,并符合 PSR-1PSR-4PSR-12

安装

通过 composer 工具安装。

composer require "phoole/env"

或者将以下行添加到您的 composer.json

{
    "require": {
       "phoole/env": "1.*"
    }
}

用法

  • 将环境变量放入 .env 文件中。默认情况下,现有环境变量不会被 覆盖

    # this is comment line
    BASE_DIR = /usr/local  # spaces allowed
    
    # use reference here
    APP_DIR = ${BASE_DIR}/app   # /usr/local/app
    
    # use bash style :- or :=
    TMP_DIR = ${SYSTEM_TMP_DIR:-${APP_DIR}/tmp} 

    有关 :-:= 的使用,请参阅 shell 变量扩展

  • 在 PHP 脚本中加载和使用您的环境变量

    <?php
    # load env file, will NOT overwrite existing env variables
    (new Phoole\Env\Environment())->load(__DIR__ . '/.env');
    
    // use env values
    echo getenv('APP_DIR');

特性

  • 支持 shell 默认值,${param:-new}${param:=new}

  • 默认情况下,不会 覆盖任何现有环境变量。这使得在 docker 的情况下从命令行导入环境变量成为可能。

    要覆盖现有环境变量,

    env->load('./.env', TRUE);
  • env 文件中的宽松语法(与 bash 不兼容)

    # spaces before and after '=' is allowed. NOT recommended though
    ROOT_DIR = /var/tmp
    
    # same as above
    ROOT_DIR=/var/tmp
    
    # same as above
    ROOT_DIR="/var/tmp"
  • PSR-1PSR-4PSR-12 兼容。

测试

$ composer test

依赖项

  • PHP >= 7.2.0

许可