【发布时间】:2015-03-11 06:46:20
【问题描述】:
提前感谢您的帮助...
我来自 Java/Maven 开发环境,非常熟悉 Java 依赖项和使用 Maven 共享通用代码。
我最近搬到了一个基于 PHP 的组织。我们有 3 个不同的项目,它们都有一个共享的代码库。到目前为止,开发人员只需将代码从一个项目复制/粘贴到另一个项目,以使共享代码在项目之间保持同步。
以前在 Java/Maven 世界中,共享代码将在一个单独的项目中维护,并创建一个 JAR。然后,您将“mvn install”该模块,它将将该 JAR 安装在本地存储库中,并且需要该“依赖项”的项目将从您的本地存储库下载它,从而允许快速开发共享代码和使用共享的项目代码。
我一直在寻找 PHP 中类似的东西,但一直没能找到。我找到了诸如 Git 子模块、PHAR 和 PEAR 之类的建议。但我看到人们抱怨 Git 子模块 (https://softwareengineering.stackexchange.com/questions/158847/recommended-methodology-for-working-with-shared-libraries-and-mercurial),我们的开发人员说使用 PHAR 和 PEAR 会极大地减慢开发工作,因为他们必须先构建共享库才能使用共享库(更不用说我找不到公认的“构建”PHP 标准)。
我考虑过的另一个选择是让共享代码在文件系统的“某处”存在并在代码中引用文件系统。这对我没有吸引力,因为它使环境难以设置(想象一下,如果您有 5 个通用库,则必须检查所有 5 个才能使您的代码正常工作)。
所以我的问题是,人们用什么来解决这个问题?还请更正我在上面所做的任何假设(re: PEARs、PHARs、PHP Building 等)!
【问题讨论】: