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 之前

在 2.0 版本中引入了具有 reference 名称的方法,以更好地反映从 Composer 2 API 获取的数据的含义。行为与旧方法相同,这些旧方法仍然存在,但已弃用