codervio / envmanager
Codervio 环境管理器
1.7
2018-03-07 23:55 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: 6.0.*
README
环境管理器
解析,将环境文件中的点环境变量填充到全局 $_ENV 变量、Apache 和 getenv 函数中。它支持检查变量和获取系统变量。
它提供了编辑环境文件和操作它们的工具。
捐赠
由于我是100%独立工作,没有其他组织的帮助,我可以接受任何金额的付款来改进、开发并继续构建框架的原始理念。
您可以通过 PayPal 支付任何金额:https://www.paypal.me/codervio?locale.x=en_US
安装
先决条件
PHP版本要求: PHP >7.0
PHP 扩展: mbstring
使用 use Codervio\Environment\EnvParser
声明来解析点 env 文件。
使用 use Codervio\Environment\EnvEditor
声明来编辑和管理点 env 文件。
A [requirements
] - Requirements and auto detect encodings 脚本可以自动检查 mbstring 扩展并自动检测编码类型。
用法
使用函数 getenv()
或直接使用实例,获取环境变量并将其加载到全局超变量 $_ENV
的示例
如果文件 example.env 包含以下数据
FOO=bar
加载实例后,可以获取一个变量
use Codervio\Envmanager\Envparser; $envparser = new Envparser('.env'); $envparser->load(); $envparser->run(); $result = $parser->getValue('FOO'); var_dump($result);
返回的结果将自动检测获取环境变量的类型
(string) 'bar'
或使用全局环境变量获取结果
echo apache_getenv('FOO') echo getenv('FOO') echo $_ENV('FOO')
返回结果
结果按以下顺序返回
- 如果 Apache 服务配置为仅使用 Apache 环境,则使用 apache_getenv()
- 使用大多数 Unix 系统支持的 getenv()
- 使用 PHP 原生超全局 $_ENV 函数
它将自动解析为 PHP 环境函数和超全局,因此您可以通过以下方式访问
- 超全局函数 $_ENV
- 超全局 $_SERVER 变量
- 如果系统启用,则使用 getenv()
- 如果 Apache 服务启用,则使用 apache_getenv()
变更日志
核心状态
PHP版本高于 7.0
。质量保证:提供了单元测试
目录
Envparser
常见环境变量
- 要加载简单的 ENV 变量,请使用 [
example
]
FOO=bar
VAREMPTY=
FOO1=foo1
WITHSPACES="with spaces"
列出示例环境变量
- 示例环境变量的列表:[
lists
]
注释
- 编写注释:[
comments
]
# comment # a comment #comment ## A main comment ## FOO=bar # a comment
将注释解析为变量(仅限开发,不建议使用)
可以使用以下方式解析注释变量
new Envparser('main.env', true);
注释中的变量可以是可见的
#COM1=BAR1
使用命令
$envparser->getAllValues(); # to get all values $envparser->getValue('#COM1'); # to get commented key
它返回数组并保留 # 标记
["#COM1"]=> string(4) "BAR1"
或直接
$envparser->getValue('#COM1');
将解析一个变量
string(4) "BAR1"
解析 Apache 环境变量或 Unix exports 环境变量
- 解析 export 或 setenv 变量:[
envexports
]
setenv FOO1=value # general csh case export FOO2=value SetEnv FOO3=value # Apache camel case
获取系统变量
可以获取所有系统变量
use Codervio\Envmanager\Envparser; $envparser = new Envparser(); $envparser->load(); $envparser->run(); var_dump($envparser->getSystemVars());
- 要获取单个变量或仅检查变量是否存在,请参阅 [
getSystemVars
] 和 [checkSystemVar()
]。 - 查看环境变量中值的验证类型:[
required()
] - 要从一个特定变量的文件中获取注释,请使用:[
getComment()
]
参考
- [
requirements
] - 需求和自动检测编码 - [
setEncoding()
] - 手动指定编码 - [
getEncoding()
] - 从文件中检测编码类型 - [
checkSuperGlobalsSet()
] - 检查是否设置了 $_ENV 的 set 或 get 环境指令 - [
Envparser()
] - 构造解析器构造函数 - [
load()
] - 加载环境 .env 文件或包含 .env 文件的文件夹 - [
getComment()
] - 从 .env 文件中的变量获取注释 - [
getValue()
] - 从系统环境变量和解析变量中获取值 - [
getAllValues()
] - 以数组形式返回内部解析的环境变量 - [
getSystemVars()
] - 获取所有或单个系统变量 - [
checkSystemVar()
]- 如果系统变量存在,返回布尔值 - [
setStrictBool()
] - 将非标准值(如 'y/n' 或 '1/0')解析为布尔值 - [
required()
] - 变量验证器和变量验证器的实例
EnvEditor
- [
Enveditor
] - 用于创建环境文件的实例环境 - [
Help
] - 代码中的常见帮助和问题