muglug / package-versions
该软件包已被弃用且不再维护。作者建议使用muglug/package-versions-56软件包。
ocramius/package-versions的后向移植,支持php ^5.6。Composer插件,提供对已安装软件包版本的快速高效查询(无运行时I/O)
1.2.4
2018-03-26 03:22 UTC
Requires
- php: ^5.6 || ^7.0
- composer-plugin-api: ^1.0
Requires (Dev)
- ext-zip: *
- composer/composer: ^1.3
- phpunit/phpunit: ^5.7.5
README
这是一个后向移植的
ocramius/package-versions
,支持php 5.6,而ocramius/package-versions
仅支持php 7+。
这是samsonasik/package-versions的一个更新版本
这个实用工具可以快速轻松地访问composer依赖项的版本信息。
这些信息来自composer.lock
文件,该文件在composer install
或composer update
期间(重新)生成。
$version = \PackageVersions\Versions::getVersion('muglug/package-versions'); var_dump($version); // 1.0.0@0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 $version = \PackageVersions\Versions::getShortVersion('muglug/package-versions'); var_dump($version); // 1.0.0 $version = \PackageVersions\Versions::getMajorVersion('muglug/package-versions'); var_dump($version); // 1
安装
composer require muglug/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()
,在调用它时不会发生I/O,因为软件包版本的列表是在composer安装期间编译的。
当您想根据特定依赖项的当前版本生成资产/代码/工件时,这特别有用。这样做在运行时检查软件包的已安装版本将非常昂贵,而这个软件包可以减轻这种影响。