问题:
我有实体,对于用Symfony编写的2个项目来说是相同的。我们有个想法在项目之间分享它们。第一个想法是使用git子模块,但每个人都知道它不是最舒适的解决方案。所以我们将它们作为单独的git存储库放在Satis中。
在一个项目中,我想在应用程序目录src/AppBundle/Entity
中编辑它们,另一个项目可以下载到vendor
目录中。
问题是如何设置作曲家,以便我可以在vendor
目录中使用它们。提交将如何?这需要git子模块吗?
我已经阅读了有关存储库的"type" : "path"
,我已经检查了作曲家安装程序。除了符号链接之外还有其他解决方案吗?
总结一下。
如何在app目录中的一个项目中使用共享库,另一个在供应商目录中使用共享库?
答案 0 :(得分:0)
这是适合我的解决方案。
我已将内部库克隆到项目中。
在主项目中,我已将此目录添加到.gitignore,并在composer.json中添加了以下行
"repositories": [
{
"type": "path",
"url": "internal-library",
"options": {
"symlink": true
}
},
{
"type": "composer",
"url": "http://our-satis"
}
],
在另一个项目中,我只添加了满意的存储库(实体只会在一个项目中更改并导入到另一个项目中)。
"repositories": [
{
"type": "composer",
"url": "http://our-satis"
}
],
所以现在在开发当我做作曲家更新时,库被符号链接到供应商目录。如果我没有这个目录,它将会得到满意的。在生产存储库中将获得满意,因为我的目录不存在。我在PSR加载方面遇到了一些问题,但一切都按预期工作。
我希望它会帮助有同样问题的人。