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