phossa2 / env
此包已被放弃,不再维护。未建议替代包。
从shell风格文件加载环境变量的库。
2.0.6
2016-07-04 02:59 UTC
Requires
- php: >=5.4.0
- phossa2/shared: ^2.0.12
This package is not auto-updated.
Last update: 2020-02-05 04:00:42 UTC
README
请使用 phoole/env 库代替
phossa2/env 是一个从完全兼容bash shell的文件中加载环境变量的库。
它需要PHP 5.4,支持PHP 7.0+和HHVM。它符合 PSR-1、PSR-2、PSR-4 规范。
安装
通过 composer
工具安装。
composer require "phossa2/env=2.*"
或者将以下行添加到您的 composer.json
{ "require": { "phossa2/env": "2.*" } }
使用方法
-
将您的环境变量放在文件
.env
中,# this is comment line BASE_DIR='/home/web' # reference here APP_DIR=${BASE_DIR}/app # another comment here
-
在PHP脚本中加载并使用您的env变量
<?php // ... $env = new Phossa2\Env\Environment(); # load env $env->load(__DIR__ . '/.env'); // use your env echo getenv('APP_DIR');
特性
-
支持shell默认值,例如
${param:-new}
或${param:=new}
-
在env文件中可以
source another_env_file
-
默认情况下,会覆盖任何现有的环境变量。这是bash中的默认行为。
要禁用覆盖并尊重现有环境变量,
env->load('./.env', $overload = false);
-
# spaces before and after '=' is allowed. NOT recommended though ROOT_DIR = /var/tmp
-
使用
${BASH_SOURCE}
、${BASH_SOURCE%/*}
、${BASH_SOURCE##*/}
获取当前 路径、目录、文件名# set current file MY_FILE=${BASH_SOURCE##*/} # set root dir to current dir ROOT_DIR=${BASH_SOURCE%/*}
或者使用
${__PATH__}
、${__DIR__}
、${__FILE__}
,这些与bash脚本不兼容。 -
这与shell脚本不兼容,因此不建议使用。
HOST=${_SERVER.HTTP_HOST}
-
支持PHP 5.4+、PHP 7.0+、HHVM
-
PHP7支持返回类型声明和参数类型声明。
-
符合PSR-1、PSR-2、PSR-4规范。
变更日志
请参阅 CHANGELOG 以获取更多信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTE 以获取更多信息。
依赖
-
PHP >= 5.4.0
-
phossa2/shared >= 2.0.21