在常规代码中读取composer extra config

时间:2018-02-15 21:17:08

标签: php composer-php

使用composer config extra.foo bar我可以在composer.json中设置自定义数据,并根据documentation编写器脚本可以使用$event->getComposer()->getPackage()->getExtra()

来阅读

我想在常规脚本中读取它(作为供应商二进制文件安装),以便用户可以配置二进制文件,例如二进制文件需要一个配置文件,我想放在extra.config

composer是否支持此功能,还是需要手动查找和解析composer.json?是否有更好的解决方案让用户添加配置?

1 个答案:

答案 0 :(得分:1)

您要引用的文档部分是关于在作曲家调用期间作为事件处理程序触发的PHP脚本。因此,composer在调用脚本时运行并提供配置信息。

当我理解你的方法时,你希望能够在没有作曲家的情况下运行自己的脚本时阅读信息。然后 - 由于作曲家不参与 - 作曲家无法提供任何信息。

所以你可以做的是读取composer.json文件,将其解析为JSON并从中获取相关信息。

但是,除了阅读任何其他配置文件之外别无其他。所以我会使用一个单独的文件进行配置。这样你就可以将配置用于那些不使用作曲家的项目(为什么人们会想要这样做......)。关注点分离也是个好主意!

你或许可能想看看f.e. phpunit,phpcs或travis,了解他们如何在脚本中处理特定的配置问题。