devcirclede/env-reader

PHP 简单环境读取/解析器

安装: 37

依赖者: 1

建议者: 0

安全: 0

星星: 3

关注者: 3

分支: 0

开放问题: 3

类型:项目

0.4.3 2023-03-19 21:24 UTC

This package is auto-updated.

Last update: 2024-09-20 00:38:24 UTC


README

workflow

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');