答案:使用ComposerInstalledVersions类可直接获取已安装包信息。首先引入vendor/autoload.php,调用getInstalledPackages()获取所有包名,isInstalled()检查特定包是否存在,getPrettyVersion()或getVersion()获取版本号,并可通过getInstallPath()读取composer.json获取详细元数据,适用于插件系统与调试工具。

在PHP应用中获取已安装的Composer包信息,最直接的方式是使用Composer自带的ComposerInstalledVersions类。这个类从Composer 2.0开始被引入,用于替代旧版本中不可靠的动态生成方式,提供统一、安全的已安装包查询接口。
启用InstalledVersions类
该类由Composer自动生成并维护,位于vendor/composer/InstalledVersions.php文件中。只要项目通过Composer正常安装依赖,就可以直接使用。
确保你的应用已正确加载Composer自动加载机制:
require_once 'vendor/autoload.php';
登录后复制
获取已安装的包列表
你可以调用getInstalledPackages()方法获取所有已安装包的名称数组:
立即学习“PHP免费学习笔记(深入)”;
$packages = ComposerInstalledVersions::getInstalledPackages();
foreach ($packages as $package) {
echo $package . "
";
}登录后复制
这会输出类似:
标签: php laravel js json composer 工具
还木有评论哦,快来抢沙发吧~