【问题标题】:php projects sharing common codephp项目共享通用代码
【发布时间】: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 等)!

【问题讨论】:

    标签: php git


    【解决方案1】:

    我认为您绝对应该研究一下Composer,这是一种用于 PHP 项目的 Maven。

    这解决了 PHP 项目中的很多包管理问题。

    【讨论】:

    • 是的,我读过关于作曲家的文章,看起来很有趣!但是,如果我错了,请纠正我)看起来它使用 packagegist 作为存储库,但是针对私有或本地存储库进行开发呢?提前感谢您的帮助!
    • 您可以将私有存储库添加到 composer.json 以便您可以托管所有内部代码 getcomposer.org/doc/…
    • 太棒了。让我由我的团队运行它,看看他们的想法!
    猜你喜欢
    • 2012-11-11
    • 2019-04-11
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多