koriym/env-json

0.1.0 2022-12-05 06:26 UTC

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);
  1. 如果环境变量已经设置,则通过 env.schema.json 验证其是否正确。
  2. 如果不正确,则读取 env.jsonenv.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