vatradar / env
vlucas/phpdotenv 的环境变量便捷库扩展
0.6.0
2023-04-12 04:06 UTC
Requires
- php: >=8.1
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.0
- spaze/phpstan-disallowed-calls: ^2.11
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);