2

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

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

有什么建议/建议吗?

4

1 回答 1

2

PHP 为您提供class_exists()了这个目的。检查该类是否已加载 - 默认情况下它将调用自动加载器,因此无需事先使用 try/catch 块对其进行实例化。

如果您尝试通过也可以使用extension_loaded()或的方式测试扩展function_exists()

于 2012-10-05T15:26:10.083 回答