甜桶 / env-var-storage
@待办:项目描述
1.x-dev
2023-12-26 18:19 UTC
Requires
- php: >=7.4
Requires (Dev)
- ext-json: *
- codeception/codeception: ^4.1
- codeception/module-asserts: ^2.0
- consolidation/robo: ^3.0
- nuvoleweb/robo-config: 3.x-dev
- squizlabs/php_codesniffer: ^3.6
- sweetchuck/git-hooks: 2.x-dev
- sweetchuck/robo-git: 2.x-dev
- sweetchuck/robo-phpcs: 2.x-dev
- sweetchuck/robo-phpmd: 2.x-dev
- symfony/error-handler: ^5.3 || ^6.0
- symfony/filesystem: ^5.0 || ^6.0
This package is auto-updated.
Last update: 2024-08-26 20:00:43 UTC
README
此库提供了对\getenv()和\putenv()函数的封装。
接口
实现 - 真实
EnvVarStorage使用真实的\getenv()和\putenv()函数来获取/设置环境变量。
实现 - 模拟
ArrayStorage使用一个\ArrayObject实例来存储“环境”变量。用于测试目的。
服务定义
services: env_var_storage: shared: true class: 'Sweetchuck\EnvVarStorage\EnvVarStorage'
使用方法
<?php use Sweetchuck\EnvVarStorage\EnvVarStorageInterface; class Foo { protected EnvVarStorageInterface $envVarStorage; public function __construct(EnvVarStorageInterface $envVarStorage) { $this->envVarStorage = $envVarStorage; } public function doSomething(): string { return $this->envVarStorage->get('PATH'); } }
在测试中使用
<?php class FooTest extends \PHPUnit\Framework\TestCase { public function testDoSomething() { $envVarStorage = new \Sweetchuck\EnvVarStorage\ArrayStorage(new \ArrayObject(['PATH' => '/a:/b'])) $foo = new \Foo($envVarStorage); $this->assertSame('/a:/b', $foo->doSomething()); } }