kristos80/env-reader

1.0.0 2024-06-25 13:49 UTC

This package is auto-updated.

Last update: 2024-09-25 14:34:37 UTC


README

EnvReader 包提供了一个简单灵活的方法来读取和操作 PHP 中的环境变量。它允许通过 $_ENV 超全局变量轻松检索和比较环境变量值,支持严格的比较和类型转换。

工作进行中(WIP)— 请勿在生产环境中使用

  • 它尚未经过广泛的测试。
  • 主要用于内部项目,可能会在没有事先通知的情况下发生破坏性更改。
  • 可能缺少许多功能。

Coverage Status Mutation testing badge Codacy Badge

功能

  • 检索环境变量:通过名称访问环境变量,支持回退默认值。
  • 严格比较:可选地对环境变量名称执行大小写敏感的检查。
  • 类型转换:自动将环境变量值转换为指定的类型(例如,数组、对象、字符串、整数)。
  • 数组和支持对象:将 JSON 编码的环境变量值转换为数组或对象。

示例用法

use Kristos80\EnvReader;

$envReader = new EnvReader();

// Retrieve a variable with optional strict comparison and type casting
$databaseUrl = $envReader->get('DATABASE_URL', 'default_value', true, 'string');

// Check if an environment variable matches one of the possible values
$isProduction = $envReader->equals(['ENVIRONMENT', 'APP_ENV'], ['production', 'prod'], true);

类参考

EnvReader

此最终只读类实现了 EnvReaderInterface

方法

equals

public function equals(
  string|array $possibleEnvNames,
  mixed $possibleEnvValues,
  bool $strict = FALSE,
  ?string $cast = NULL
): bool

参数

  • $possibleEnvNames (string|array): 要检查的环境变量名称(s)。
  • $possibleEnvValues (mixed): 要比较的值。
  • $strict (bool): 是否在变量名称(s)中执行大小写敏感的比较。
  • $cast (string|null): 可选的类型转换环境变量值(例如,'array'、'object'、'string')。

返回值: (bool): 如果环境变量值匹配可能的值之一,则为 true;否则为 false。

get

public function get(
  string|array $possibleEnvNames,
  mixed $default = NULL,
  bool $strict = FALSE,
  ?string $cast = NULL
): mixed

参数

  • $possibleEnvNames (string|array): 要检索的环境变量名称(s)。
  • $default (mixed|null): 如果未设置环境变量,则返回的默认值。
  • $strict (bool): 是否在变量名称(s)中执行大小写敏感的搜索。
  • $cast (string|null): 可选的类型转换环境变量值(例如,'array'、'object'、'string')。

返回值: (mixed): 环境变量的值,如果提供了指定类型,则转换为该类型,否则返回默认值。

贡献

请随时通过提交问题或拉取请求来贡献。确保您的代码符合项目的编码标准,并包含适当的测试。