【发布时间】:2020-05-28 13:46:47
【问题描述】:
使用 Symfony 5,我正在开发一个带有捆绑包的应用程序。每个包都有自己的存储库。
在开发(本地)环境中,我想要我的应用程序编写器,通过符号链接获取包,并从 git 存储库获取包:
{
"type": "path",
"url": "../common",
"options": {
"symlink": true
}
},
{
"type": "vcs",
"url": "https://gitlab.bewizyu.com/XXX/common"
}
最好的做法是什么?
【问题讨论】:
-
据我所知,这方面没有最佳实践,想到的任何解决方案对我来说似乎都是 hacky,因为您要么必须保留 2 个 composer.json,要么在构建之前修改现有的为产品。如果仅此应用程序使用捆绑包,请考虑将它们移动到 App-namespace 中。否则,您可能不得不接受子弹并始终使用存储库或忍受问题/hackiness。
-
是的,我没有找到任何相关信息,但我很确定这是开发 Symfony 应用程序时的常见情况,对吧?
-
我发现随着向无捆绑应用程序的转变不太常见。 Bundles 应该只用于配置库。如果代码需要在应用程序中如此频繁地修改,那么符号链接库是有意义的,它可能应该是应用程序的一部分。显然,这只是一般规则,您的里程可能会有所不同。
-
来自 SF4 “不再推荐这样做,捆绑包只能用于在多个应用程序之间共享代码和功能。”
-
@ThomasDecaux 只需用 library 替换术语“bundle”,你就有了与当前 Symfony 版本兼容的东西,但会触发同样的问题
标签: symfony composer-php