php - Phing 和 Composer,哪个方向?

标签 php build-automation dependency-management phing composer-php

我想在我的应用程序中同时使用 Phing 和 Composer。 Phing 作为构建系统和 Composer 来管理依赖项。但是应该以哪种方式使用它们呢?

目前,我们正在所有服务器上全局安装 Phing。 Phing 应该完全自动化我们各种项目的构建。只需 checkout 项目的副本,使用默认目标运行 Phing,您应该会很好。这也意味着那里应该有一个 Phing 目标,它调用 Composer 来安装所有依赖项。所以,Phing 调用 Composer 。但是我一直找不到有关此设置的任何信息。没有 ComposerTask 或类似的东西,谷歌搜索并没有发现任何人以这种方式工作。

但我确实看到了很多相反的情况。人们使用 Composer 安装 Phing 作为项目依赖项。

那么,每种方法的(缺点)优点是什么?我是否试图以错误的方式做到这一点?

最佳答案

我认为通过 composer 安装 phing 的主要优势在于,对于开源项目来说,更容易确保您的用户以这种方式安装了 phing。通常在这些设置中,phing 只是一些库用来完成某些任务的工具。

另一个优点是每个项目都可以使用不同版本的 phing,如果你有一个系统范围的 phing 就无法做到这一点。

如果您使用 phing 来管理整个项目构建/设置,从中调用 composer 可能有意义,但反之亦然。例如你可以使用 composer scripts在每次依赖更新后触发 phing 任务。这样,项目设置将是:

  • 结帐
  • 运行 Composer
  • composer 在更新/安装 deps 后运行 phing
  • 项目建成

老实说,我不知道是否有正确答案。您可以使这两种方式都有效,但通过这种方式您至少可以跳过必须先安装 phing 的步骤。显然,您需要安装 composer,但可以说这更容易,而且无论如何您都需要它。

关于php - Phing 和 Composer,哪个方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10829566/

相关文章:

php - MySQL 数据库中的范围 slider 和值

用于任务执行和依赖关系处理的 Python 框架

javascript - 如何在 WordPress get_posts() json_encode() 中包含特色图像 URL?

php - 找到内存限制和(upload_max_filesize & post_max_size)的最佳平衡

sql - 如何自动导出 SQL Server 2008 版本的存储过程

Jenkins "run only if build succeeds"仍然运行不成功的构建

dependency-management - Tycho 构建的 Eclipse RCP 包含不需要的可选依赖项

c - 如何在 CMake 中导出包?

java - Java 项目的依赖关系图

php - 使用 PHP shell_exec 和 ffmpeg 合并 2 个音频文件