balint-horvath/dotenv-php

简单的 .env 文件解析器和 ENV 加载器 (.env 转换为 getenv() 和 $_ENV),基于标准的 PHP INI 解析器 (parse_ini_file)。

1.0.0 2017-10-23 19:30 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:49:28 UTC


README

简单的 .env 文件解析器和 ENV 加载器 (.env 转换为 getenv()$_ENV),基于标准的 PHP INI 解析器 (parse_ini_file)。

Version 1.0 Build Passing PHP 7.0

balint-horvath/dotenv-php balint-horvath/dotenv-php

支持的方法

  • getenv(variable)
  • getenv(section_variable)
  • $_ENV[variable]
  • $_ENV[section_variable]
  • $dotenv->variable
  • $dotenv->section->variable
  • $dotenv[variable]
  • $dotenv[section][variable]

示例

安装

要安装此库,您需要在项目中使用 Composer。如果您还没有使用 Composer,请按照以下步骤安装

curl -sS https://getcomposer.org/installer | php

通过 Composer

composer require balint-horvath/dotenv-php

Phar

php composer.phar require balint-horvath/dotenv-php

示例环境文件 (INI) (.env)

#.env
[API]
apiUser = User
apiKey = Key

使用 (实例)

命名空间: \BalintHorvath\DotEnv\

: DotEnv

new \BalintHorvath\DotEnv\DotEnv($path)

属性

  • (string) path: .env 文件所在的目录或完整的 ini 文件路径。 (默认: ../../../)
  • (bool) setEnvironmentVariables: 如果为 true,变量将通过环境变量 ($_ENV, getenv()) 可用,否则(如果 false)它们仅通过 DotEnv 对象或数组 ($dotenv-> $dotenv[]) 可用。 (默认: true)
  • (bool) processSections: 如果为 true,变量将按节组织($dotenv->section $dotenv[section]),否则节将没有意义。 (默认: true)
  • (bool) scannerMode: 如果为 INI_SCANNER_TYPED,则值 0/off/"false"/false 将成为 bool false,值 1/on/"true"/true 将成为 bool true。可以是 INI_SCANNER_NORMALINI_SCANNER_RAW。如果提供 INI_SCANNER_RAW,则选项值将不会解析。(有关更多信息,请参阅PHP 手册:parse_ini_filePHP 手册:预定义常量。)(默认: INI_SCANNER_TYPED)

示例

define('APP_DIR', dirname(__FILE__) . '/');

require 'vendor/autoload.php';

$dotenv = new \BalintHorvath\DotEnv\DotEnv(APP_DIR);

获取环境变量

对象访问

使用

    $dotenv->{variable}
    $dotenv->{section}->{variable}

示例

    $dotenv->API->apiUser
    API User: <?=$dotenv->API->apiUser?>
    API Key: <?=$dotenv->API->apiKey?>

ENV 访问 ($_ENV)

使用

    $_ENV['{variable}']
    $_ENV['{section}']['{variable}']

示例

    $_ENV['API_apiUser']
    API User: <?=$_ENV['API_apiUser']?>
    API Key: <?=$_ENV['API_apiKey']?>

ENV 访问 (getenv)

使用

    getenv('variable')
    getenv('section_variable')

示例

    getenv('API_apiUser')
    API User: <?=getenv('API_apiUser')?>
    API Key: <?=getenv('API_apiKey')?>

数组访问

使用

    $dotenv[{variable}]
    $dotenv[{section}][{variable}]

示例

    $dotenv['API']['apiUser']
    API User: <?=$dotenv['API']['apiUser']?>
    API Key: <?=$dotenv['API']['apiKey']?>

依赖

开发者依赖

  • Kahlan 4 (kahlan/kahlan:^4.0)

单元测试 & BDD 测试

此包包含针对 Kahlan 的测试用例。

PSR

PSR-4 自动加载

  • \BalintHorvath\DotEnv\