Composer / PHP:如何检查是否安装了composer包?

时间:2017-03-05 03:59:36

标签: php composer-php

在我们的应用程序中使用PHP检查是否安装/存在包(任何版本)的最简洁方法是什么?

基本上,在我们的应用程序中,我们想要使用以下签名调用函数:

bool function hasComposerPackage(string $packageName)

这个函数必须包含什么,以便我们可以执行以下操作:

if (hasComposerPackage('phpunit/phpunit')) {
    echo 'PHPUnit is installed!';
}

理想情况下,这需要在没有任何命令行exec调用的情况下发生,并且它不应该在进程中自动加载任何不必要的文件。

1 个答案:

答案 0 :(得分:1)

@ user1132363使用shell_exec()来运行像composer show这样的东西是确定的唯一方法,但你似乎拒绝这条路线。我不确定你拒绝的原因,这是你问题的 解决方案。没有其他可靠的手段。使用class_exists也是不可靠的,因为类名可以在包中更改。

那就是说,我认为这里有一个更大的问题,你不是在问:你实际试图解决什么问题?在,为什么你需要检查是否安装了包?