devcirclede/env-reader
PHP 简单环境读取/解析器
0.4.3
2023-03-19 21:24 UTC
Requires
- php: >=8.1
Requires (Dev)
- overtrue/phplint: ^9.0
- phpunit/phpunit: ^10.0
- slevomat/coding-standard: ^8.8
- vimeo/psalm: ^5.7
README
EnvReader
PHP 环境读取器
一个简单的环境读取器,可以将值解析为特定类型。它尝试在 $_ENV、$_SERVER 和 getenv 中查找值。逻辑基于 Symfony 的 EnvVarProcessor。
安装
composer require devcirclede/env-reader
支持类型
实际包含的类型有
- 整数
- 浮点数
- 字符串
- 布尔值
- 数组
- JSON
你可以通过创建一个实现 TypeInterface 的类来添加自己的类型。
示例
<?php declare(strict_types=1); namespace Company\EnvTypes; use DevCircleDe\EnvReader\Types\TypeInterface; class CustomType implements TypeInterface { public function getName(): string { return 'custom'; } public function convert(string $value): mixed { // convert the value to custom type return $value; } }
自定义类型的用法
<?php use Company\EnvTypes\CustomType; use DevCircleDe\EnvReader\EnvParser; $envParser = EnvParser::getInstance(); // add custom type $envParser->getCollection()->addItem(new CustomType()); // read Env $var = $envParser->parse('FOO', 'custom_type');