检测“建议”软件包是否实际上是通过composer.phar安装的推荐方法是什么?

时间:2012-10-05 15:13:43

标签: php composer-php

我正在构建一个小型控制台(symfony 2.1)应用程序(处理语义版本号),如果gitlib可用,它可以选择性地分析给定的git存储库。理想情况下,我更喜欢作曲家提供的一些机制来检测lib是否可用(类似于提供的自动加载),但据我所知,我必须检查自己。

我在解析composer.lock(看起来更干净)和尝试从库中实例化一个类(独立于作曲家,但滥用流程控制的异常)之间徘徊。后者感觉特别糟糕,因为即使我根本不打算使用实例,我也必须这样做才能配置应用程序(具体来说:决定是否在应用程序中注册命令)。

有任何建议/建议吗?

1 个答案:

答案 0 :(得分:2)

PHP仅为此目的为您提供class_exists()。检查类是否加载了它 - 它将默认调用自动加载器,因此不需要事先用try / catch块实例化它。

如果您尝试使用extension_loaded()function_exists()来测试扩展程序。