vlucas/phpdotenv 的环境变量便捷库扩展

0.6.0 2023-04-12 04:06 UTC

This package is auto-updated.

Last update: 2024-09-12 07:03:50 UTC


README

这个包相当简单 - 它的目的是在不直接访问 $_ENV['SOME_VAR'] 的情况下标准化对环境变量的访问。是的,这更多的是一个偏好问题,而不是真正解决技术缺陷。这是可以接受的。

它封装了 vlucas/phpdotenv 包,并提供对该包实例的访问,以便进行自定义配置,以及一个便捷方法来访问环境变量。它也是有偏见的,因此默认初始化为不可变。它也不适用于具有多个 .env 文件的超级复杂配置。对于这种情况,直接使用 dotenv

快速安装

composer require vatradar/env

Env 尝试遵循 语义化版本控制 原则,但也是更大私有 monorepo 和共享代码库的一部分 - 由于这一点,即使没有特定包的变化,此包的版本升级也可能发生。

快速入门

<?php

use VatRadar\Env\Env;

require __DIR__.'/vendor/autoload.php';

// Can be used without initializing to grab normally-existing environment vars
Env::get('USER');

// Initialize using path to directory that will contain your .env file
// and then access environment variables
Env::init(__DIR__);
$myVar = Env::get('MY_ENV_VAR');

// Pass a repository if needed
$repository = Dotenv\Repository\RepositoryBuilder::createWithDefaultAdapters()
    ->allowList(['FOO', 'BAR'])
    ->make();
Env::init(__DIR__, $repository);

// Customize dotenv configuration
$dotenv = Env::create(__DIR__);
$dotenv->required(['DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASS']);
Env::init($dotenv);
$dbHost = Env::get('DB_HOST');

// You can also add the repository
$dotenv = Env::create(__DIR__, $repository);
$dotenv->required(['DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASS']);
Env::init($dotenv);