koriym / env-json
0.1.0
2022-12-05 06:26 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- evaisse/php-json-schema-generator: ^2.1
- justinrainbow/json-schema: ^5.2
Requires (Dev)
- doctrine/coding-standard: ^10.0
- phpmd/phpmd: ^2.9
- phpmetrics/phpmetrics: ^2.7
- phpstan/phpstan: ^1.1
- phpunit/phpunit: ^8.5.27 || ^9.5
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^4.2
This package is auto-updated.
Last update: 2024-08-25 08:35:28 UTC
README
使用 JSON 代替 .env
文件来设置环境变量。对环境变量以及 JSON 都进行 JSON schema 验证。
安装
composer require koriym/env-json
使用
将 env.schema.json
模式文件的目录指定给 load()
。
(new EnvJson())->load($dir);
- 如果环境变量已经设置,则通过
env.schema.json
验证其是否正确。 - 如果不正确,则读取
env.json
或env.dist.json
,通过env.schema.json
验证,并作为环境变量导出。
$dir/env.json
或 $dir/env.dist.json
{ "$schema": "./env.schema.json", "FOO": "foo1", "BAR": "bar1" }
$dir/env.schema.json
{ "$schema": "https://json-schema.fullstack.org.cn/draft-07/schema#", "type": "object", "required": [ "FOO", "BAR" ], "properties": { "FOO": { "description": "Foo's value", "minLength": 3 }, "BAR": { "description": "Bar's value", "enum": ["bar1", "bar2"] } } }
它可以为与 .env
文件相比提供更合适的文档和约束。
转换 ini 文件
使用 ini2json
从 .env
文件生成 JSON 和其模式文件。
. /vendor/bin/ini2json .env