【发布时间】:2021-01-21 12:38:21
【问题描述】:
在我们公司,多个内部项目依赖相同的复制代码部分来处理与相同 API 的连接(例如:Google Suite、JIRA...)。为了避免为新项目一遍又一遍地复制相同的代码,我想创建收集这些 API 类的 Symfony 包。
棘手的部分:我正在寻找一种将必要的环境变量自动添加到.env 的方法,就像Symfony's recipe structure does it 一样。但由于这些项目只能在内部使用,因此将它们的配方配置推送到公共存储库对我来说是不行的。添加自定义配方服务器(如 moay 的服务器)对我来说很有趣,但需要在每个项目中进行额外配置 composer.json。
有没有更好的方法来解决这个问题,这样我就可以在我的项目中简单地定义所需的变量,这样它们就可以添加到.env 而无需任何额外的魔法?
注意:任何需要symfony/flex 的东西都可以,因为这应该是我们公司所有新项目的一部分
这些是我想避免的解决方案:
- 将配置添加到捆绑包/包本身,以便将这些配置值置于版本控制之下
- 通过安装后手动运行的任何其他命令添加配置
【问题讨论】:
-
您要添加什么类型的变量?它们会更适合作为配置变量吗?
-
有一个open issue 允许全局配置端点。如果它得到实施,您可以将其添加到开发人员配置文件中。
-
@craigh 配置包含两个变量,就像在我的其他项目中一样,我想为此使用 env 变量,因为这些变量不应置于源代码控制之下
-
“本地”是什么意思?
composer require仅在开发人员机器上运行,但我看不到与 Docker 的连接 -
@UrmatZhenaliev 你能分享更多关于那个“环境配置器”的细节吗?据我所知,它只适用于公共食谱
标签: php symfony composer-php dotenv