如何使用具有庞大代码库的作曲家?

时间:2014-05-29 21:49:26

标签: php composer-php

我们在PHP中拥有庞大的代码库(我的意思是巨大的,大约2M +行)。我想知道你们是如何在这种情况下整合作曲家的。

特别是当代码无法在小项目(现在)中解耦时由于复杂性(甚至与遗留代码混合在一起)并且它被保存在同一个SVN存储库中。

  • 为什么我对作曲家/包装图书馆的质量有信心?
  • 如果packagist失败会怎么样?
  • 如果我的供应商存储库出现问题,我该怎么办?(Github / Bitbucket / Whatever)?
  • 如果我的某些供应商决定删除他们的库,会发生什么?
  • 如果他们遭到黑客攻击并将下一个版本标记设置为空,该怎么办?

我知道这些可能的问题可能会以这种或那种方式被忽略。但是很多人的生活可能依赖于这一事实让我觉得这种决定有点疯狂。

你怎么看?我最好的选择是什么?

1 个答案:

答案 0 :(得分:1)

关于第一点 - 如果你有遗留,2M +紧密耦合的代码库,普通的开源项目质量不应该打扰你;)。

对于其余的 - 您可以使用staging与依赖项一起构建项目,然后在那里构建一个完整的包(我指的是所有下载的依赖项和bundle)。当然,您仍将在开发周期中依赖外部包,但不会在部署/生产中依赖外部包。无论何时包装发生故障,您都有时间和可能更换包装。

Composer是一个非常好的工具,可以将项目与依赖项捆绑在一起,因此它既是问题的答案,也是#34;如何使用外部依赖项"以及如何独立于他们",你只需要指定你想要将这种独立性带入你的项目的点。

我认为您应该考虑外部依赖关系,尽可能地降低代码库,而不是将这些问题放在开发人员的肩膀上,他们希望使用代码,库,使用tiem ...然后,在某处在您的部署过程中,将它们捆绑在一起(分段是一个好地方)。即使您的依赖关系将消失,您将不得不花费您的开发时间来替换它们:

它可能仍然比你自己处理所有费用还要少。