PHP在主项目的供应商下开发一个composer包

时间:2015-10-18 12:44:48

标签: php github composer-php

我有一个主要的php项目需要我开发的php组件,我打算在其他项目中重用,该组件位于主项目供应商目录中。 然而,推送到Github组件,转到主项目,运行composer update非常耗时。 为了加快组件的开发,有没有办法将本地组件项目包含到主项目中?

2 个答案:

答案 0 :(得分:2)

这就是我进行本地作曲家包开发的方式。

  1. 在供应商文件夹旁边创建一个vendor-repo文件夹。
  2. 为供应商和项目名称创建一个目录,例如vendor-repo/vendorname/packagename
  3. packagename文件夹中创建一个git repo,并使用composer.json等构建您的作曲家包。
  4. 将您的本地存储库添加到主composer.json(需要您的包的主存储库)。您还可以通过添加"packagist": false按照以下示例禁用packagist repo。如果您没有使用packagist中的任何软件包,这将加快速度并且是一个好主意。
  5. "repositories": [ { "type": "path", "url": "vendor-repo/vendorname/packagename" }, { "packagist": false } ]

    然后,当您运行composer update时,它将从您的本地仓库获取您的包,而不是需要从GitHub获取它。

答案 1 :(得分:0)

您可以直接在供应商文件夹中添加库,使用psr-0或psr-4自动加载注册源,转储自动加载类并在文件夹中创建一个git存储库。

因此,您可以将其用作库,同时,您无需提取所做的每一个更新来测试项目中的库。

我不知道这是不是一个好方法,但符号链接对我不起作用,我仍然需要在自动加载中注册这些类。