编写器关闭自动加载类映射的生成


Composer turn off generation of classmap autoload

我正在做一个项目,其中包含用不同语言编写的几个部分。其中一个部分是PHP应用程序。分发项目时有一个阶段来分发这个PHP应用程序。我使用Phing。除了其他依赖项,我还有

"require": {
  "php": ">=5.3.13",
  "phing/phing": "2.7.*"
}

正如Phing包中的composer.json所建议的那样,Composer为Phing创建了autoload_classmap条目。有一些Phing目标可以进一步复制供应商库,但它们不复制Phing本身(它不是PHP项目本身的运行时依赖项)。因此,autoload_classmap中的许多条目是有问题的。我的应用程序本身使用类映射,所以我想使用这种机制,但不是所有的包。

是否有可能在每个包的基础上抑制类映射项的生成 ?

这可能是一个鸡生蛋还是蛋生鸡的问题,但我认为Phing不属于软件依赖项,所以必须去掉它。类映射的问题解决了。

它属于哪里?它是您必须安装以部署或分发软件的基础设施。Phing应该安装在执行部署的机器上,或者任何需要它的地方,但这是这台机器的基础设施需求的一部分。

你可以使用Composer来全局安装Phing(这比使用PEAR要好得多)。或者,您可以创建一个包含Phing(可能还有其他东西)的部署项目,并承担部署/分发该软件的任务。