yannoff / composer-dotenv-handler
Composer 脚本,根据 .env.dist 模板生成 .env 文件
1.2.4
2021-10-06 15:01 UTC
Requires
- php: ^5.6|>=7.0.8
- symfony/dotenv: >=3.4
Requires (Dev)
- composer/composer: ^1.10.23 || ^2.1.9
- symfony/filesystem: ^2.3 || ^3 || ^4
README
Composer 脚本,用于处理 .env 文件维护,基于流行的 incenteev/composer-parameter-handler 包的概念。
使用方法
首先必须引入这个包
$ composer require yannoff/composer-dotenv-handler
然后,根据以下示例设置你的 composer.json
... "scripts": { "post-install-cmd": "Yannoff\\DotenvHandler\\ScriptHandler::updateEnvFile" } ...
高级选项
选项可以通过 composer.json 的 extra 部分传递
"extra": { "yannoff-dotenv-handler": { // options here } }
可用选项
Symfony Flex 行为
截至 2018 年 11 月,Symfony 团队决定 彻底改变 symfony 应用程序中处理 dotenv 文件的方式。
一种 局部 临时解决方案 是修改 composer.json 的 extra 部分,如下所示
"extra": { "yannoff-dotenv-handler": { "file": ".env.local", "dist-file": ".env" } }
无论如何,这不是一个可接受的解决方案,实际上,dotenv 文件名可能因部署环境而异(测试、预发布、生产等):不能直接提交 composer.json。
因此,这里引入了行为选项
"extra": { "yannoff-dotenv-handler": { "behavior": "flex" } }
在 flex 行为模式 下,脚本将根据运行时环境变量 APP_ENV 或 ENV(按此顺序优先)自动构建 dotenv 文件名(如果未设置,则使用默认值 local)。
例如,在终端中执行以下命令
$ /usr/bin/env ENV=staging composer install
将得到以下配置值
dist-file:.envfile:.env.staging
许可证
在 MIT 许可证 下许可。