同时开发 Composer 库和主项目的最佳实践是什么?

What is the best practice to develop Composer's library and main project simultaneously?

我正在努力了解在主要项目开发和库开发中使用 Git 的最佳实践是什么。我将尝试解释: 我正在同时开发一个项目和一个库。他们都在 GitHub 上。这是我当前的工作流程:

  1. 在库中进行更改
  2. 提交并将其推送到 GitHub,在 Packagist 上发布并更新
  3. 运行 composer update在主工程中,这样会下载新版本的库
  4. 使用新的库版本进行测试

那太复杂了,也不对。解决这个问题的方法是什么?我有一个选择:

也许有一些聪明而酷的方法可以解决这个问题,但我不知道。请解释如何做到这一点。提前致谢。

P.S。我正在使用 PhpStorm,也许它有一个选项可以帮助我们解决问题。

如果您经常更新主项目使用的库,您应该考虑将其托管为本地存储库。

您可以使用 composer CLI 添加存储库(请参阅 docs),但手动更新 composer.json 文件要简单得多。

打开您的 composer.json 文件并找到 repositories 属性(如果不存在,请在根范围内创建它)。

它应该是一个对象数组,每个对象都应该有一个类型(版本控制系统的 vcs)和一个 url。

同时将您的图书馆添加到 require。如果需要,您可以使用 git 版本标签,但指向 dev-master 是一种非常常见的做法。

{
    "name": "mainproject",
    "description": "Main project development",
    "repositories": [{
        "type": "vcs",
        "url": "ssh://git@my-git-server-url.com/library.git"
    }],
    "require": {
        "library/library": "dev-master"
    }
}

更新库(并将更改推送到存储库)后,您只需从主开发项目 运行 composer update library/library 中获取库中的所有更改。