jean85/pretty-package-versions

获取已安装依赖项的漂亮版本字符串的库

2.0.6 2024-03-08 09:58 UTC

README

SWUbanner

jean85/pretty-package-versions

PHP Version Stable release Total Downloads

Build status Codecov

一个用于获取依赖项漂亮版本字符串的小型独立包装器。

安装

  • 如果您在一个库中使用此包,建议您使用约束^1.5 || ^2.0来要求它,以获得所有功能,而不必强迫您的最终用户立即升级到Composer 2。

使用Composer安装

  • 从CLI: composer require 'jean85/pretty-package-versions:^1.5 || ^2.0'
  • 或者在您的composer.json中直接添加
{
    "require": {
        "jean85/pretty-package-versions": "^1.5 || ^2.0"
    }
}

兼容性

此包最初是一个针对ocramius/package-versions的轻量级包装器;随着Composer 2的出现,这不再需要,因为我们可以直接使用Composer\InstalledVersions。这导致了这个版本兼容性图表

这意味着,使用此包,您可以在不绑定用户到任何特定Composer版本的情况下获得漂亮版本,并具有平滑的升级路径。由于#21和相关问题的讨论,1.4的发布被撤销。

使用方法

应使用单个类Jean85\PrettyVersions来使用此包:它提供了一个返回请求包的Jean85\Version对象的方法,如下例所示

use Jean85\PrettyVersions;

$version = PrettyVersions::getVersion('phpunit/phpunit');
$version->getPrettyVersion(); // '6.0.0'
$version->getShortVersion(); // '6.0.0'
$version->getVersionWithShortReference(); // '6.0.0@fa5711'

$version = PrettyVersions::getVersion('roave/security-advisories');
$version->getPrettyVersion(); // 'dev-master@7cd88c8'
$version->getShortVersion(); // 'dev-master'
$version->getVersionWithShortReference(); // 'dev-master@7cd88c8'

Version类还实现了__toString()方法,因此它可以轻松地转换为字符串;结果将与调用getPrettyVersion()方法相同。

可用方法

Jean85\Version类有这些公开方法可用

  • getPrettyVersion(): string:如果请求的包是标记版本,它将仅返回短版本;如果不是,它将输出与getVersionWithShortCommit()相同的结果

  • getShortVersion(): string:它将仅返回包的版本(即6.0.0v.1.7.099999-dev等...)

  • getReference(): string将返回已安装包的引用,通常是完整的Git提交哈希

  • getShortReference(): string将返回引用的简短版本(即fa5711

  • getVersionWithShortReference(): string:它将返回包的版本,后跟引用的简短版本(即6.0.0@fa5711

  • getPackageName(): string将返回原始包名

  • getFullVersion(): string将返回与PackageVersions\Versions::getVersion()相同的值

  • __toString(): string将返回与getPrettyVersion()相同的值

自1.5以来

自1.5版本发布以来,还有两个额外的方法可用

  • PrettyVersions::getRootPackageName返回当前(根)项目的包名,基本上是您的composer.json中的name属性值;它是一个兼容层,用于替代PackageVersions\Versions::ROOT_PACKAGE_NAME,后者可能是一个短暂的依赖项,并且不能保证其存在
  • PrettyVersions::getRootPackageVersion,它是PrettyVersions::getVersion(PrettyVersions::getRootPackageName())的快捷方式

2.0之前

名称中包含 reference 的方法是在2.0版本中引入的,以便更好地反映从Composer 2 API检索到的数据的含义。其行为与旧方法相同,这些旧方法仍然存在,但已被弃用