vdechenaux/package-versions

Composer 插件,提供对已安装包版本的快速高效查询(无运行时 IO)

安装: 8

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 67

类型:composer-plugin

1.3.0 2018-02-05 13:05 UTC

This package is auto-updated.

Last update: 2024-09-12 20:54:47 UTC


README

此实用工具提供对 composer 依赖项版本信息的快速便捷访问。

这些信息来源于 composer.lock 文件,该文件在执行 composer installcomposer update 时(重新)生成。

$version = \PackageVersions\Versions::getVersion('ocramius/package-versions');

var_dump($version); // 1.0.0@0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33

Build Status Scrutinizer Code Quality Code Coverage Downloads Packagist Dependencies

安装

composer require ocramius/package-versions

建议您使用优化的 composer 自动加载器,以防止在访问 PackageVersions\Versions API 时出现自动加载 I/O。

因此您应在 composer.json 中使用 optimize-autoloader: true

...
    "config": {
        "optimize-autoloader": true
    },
...

查看 https://getcomposer.org.cn/doc/06-config.md#optimize-autoloader

如果您手动通过 CLI 生成自动加载器,请使用 --optimize 标志。

composer dump-autoload --optimize

使用场景

此存储库实现 PackageVersions\Versions::getVersion() 的方式,在调用它时不会发生 IO,因为包版本列表是在 composer 安装期间编译的。

这在您想要生成从当前依赖项版本计算出的资产/代码/工件时特别有用。这样做在运行时检查包的已安装版本会非常昂贵,而此包可以减轻这一点。