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
使用案例
此存储库通过在 composer 安装期间编译包版本列表,以这种方式实现 PackageVersions\Versions::getVersion()
,因此调用它时不会发生 I/O。
当您想要生成从特定依赖项的当前版本计算出的资产/代码/工件时,这特别有用。这样做在运行时会非常昂贵,而这个包可以缓解这个问题。