San*_*hal 31 php phing build-automation dependency-management composer-php
我想在我的应用程序中同时使用Phing和Composer.Phing作为构建系统和Composer来管理依赖项.但是应该使用哪种方式呢?
目前,我们正在所有服务器上全局安装Phing.Phing应该完全自动化我们各种项目的构建.只需签出项目的副本,使用默认目标运行Phing,你应该很好.这也意味着在那里应该有一个Phing目标,它要求Composer安装所有依赖项.所以,Phing叫作曲家.但我一直无法找到有关此设置的任何信息.没有ComposerTask或任何类似的东西,谷歌搜索并没有透露任何人这样工作.
但我确实看到了很多相反的方式.使用Composer的人将Phing安装为项目依赖项.
那么,每种方法的(dis)优势是什么?我试图从错误的方式做到这一点吗?
Sel*_*aek 29
我认为通过composer安装phing的主要优点是,对于开源项目,更容易确保用户以这种方式安装phing.通常在这些设置中,phing只是某些库用来完成某些任务的工具.
另一个优点是每个项目都可以使用不同版本的phing,如果你有一个系统范围的你不能做.
如果你使用phing来管理你的整个项目构建/设置,从它调用composer可能是有意义的,但反过来也是如此.例如,您可以使用composer 脚本在每次依赖项更新后触发phing任务.这样项目设置将是:
老实说,我不知道是否有正确的答案.你可以通过两种方式工作,但通过这种方式,你至少可以跳过必须先安装phing.显然你需要安装composer,但可以说这更容易,无论如何你都需要它.
mar*_*kus 14
关于这个主题的其他想法.
Seldaek一般都认为两者都是可能的.不过,首先也有关于phing的争论.在构建架构的层面上,我认为作曲家首先没有意义.构建过程具有更广泛的范围和更长的生命周期,因此应该管理依赖管理器,而不是相反.
此外,如果您使用Phing令牌替换来确定要在哪个环境中安装哪些依赖版本,则几乎不可能首先使用composer,因为phing将生成composer.json,因此必须在composer可以运行之前安装.