将SATIS与共享内部库一起使用的正确方法是什么?

时间:2016-08-17 08:32:49

标签: php git composer-php symfony satis

问题:

我有实体,对于用Symfony编写的2个项目来说是相同的。我们有个想法在项目之间分享它们。第一个想法是使用git子模块,但每个人都知道它不是最舒适的解决方案。所以我们将它们作为单独的git存储库放在Satis中。

在一个项目中,我想在应用程序目录src/AppBundle/Entity中编辑它们,另一个项目可以下载到vendor目录中。

问题是如何设置作曲家,以便我可以在vendor目录中使用它们。提交将如何?这需要git子模块吗?

我已经阅读了有关存储库的"type" : "path",我已经检查了作曲家安装程序。除了符号链接之外还有其他解决方案吗?

总结一下。

如何在app目录中的一个项目中使用共享库,另一个在供应商目录中使用共享库?

1 个答案:

答案 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加载方面遇到了一些问题,但一切都按预期工作。

我希望它会帮助有同样问题的人。