SwiftDotEnv

⚠️由于我不再在 Linux 上使用 Swift,因此维护不再合适,此仓库已存档。

Swift 4 库,灵感来源于 Ruby dotenvPHP dotenv 项目,用于将环境变量从 .env 文件加载到环境中。

为什么?

配置存储在环境中十二要素应用 的原则之一。 任何可能在部署环境之间发生变化的配置——例如数据库的资源句柄或外部服务的凭据——都应该从代码中提取到环境变量中。

但是在开发机器或运行多个项目的持续集成服务器上设置环境变量并不总是可行的。 当环境启动时,SwiftDotEnv 从 .env 文件加载变量到 ENV 中。

安装

使用 Swift Package Manager 安装。

Swift 版本

此模块的第 2 版已使用 Swift 4.0 进行过测试。 第 1 版已使用 Swift 3.03.1 进行过测试。

用法

import DotEnv

let env = DotEnv(withFile: ".env")

let host = env.get("DB_HOST") ?? "localhost"
let port = env.getAsInt("DB_PORT") ?? 3306
let isEnabled = env.getAsBool("IS_ENABLED") ?? true

一个 .env 文件的例子如下:

DB_HOST=test.com
DB_PORT=1234
IS_ENABLED=0

有三个 getter 方法:

您还可以使用下标访问来检索字符串版本

let host = env["DB_HOST"] ?? "localhost"

为了方便起见,您可以使用 env.all() 来检索所有环境变量。

请注意,.env 文件是相对于执行二进制文件的目录引用的。

注意事项

目前对 .env 文件的解析器非常简单,因此不支持多行值。

贡献

欢迎贡献! 请将您的更改放在与 master 分开的分支中,并提出 PR。