一个小型的独立包装器,用于获取依赖项的漂亮版本字符串。
^1.5 || ^2.0
的约束下需要它。 ^1.5 || ^2.0
,获得所有功能而不限制您的最终用户立即升级到 Composer 2。要安装,请使用 Composer:
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 的出现,不再需要这个,因为我们可以直接使用ComposerInstalledVersions
。这导致了这个版本兼容性图表:
pretty-package-versions | 作曲家 | 使用的依赖项 |
---|---|---|
高达1.2 | 仅限 1.x | ocramius/package-versions |
1.3 | 1.x 和 2.x | composer/package-versions-deprecated , ocramius/package-versions 的分支 |
1.4 | 仅限 2.x | 没有任何 |
1.5+ | 1.x 和 2.x | composer/package-versions-deprecated , ocramius/package-versions 的分支 |
2.0 | 仅限 2.x | 没有任何 |
这意味着,使用此软件包,您可以获得漂亮的版本,而无需将您的用户绑定到任何特定的 Composer 版本,并具有平滑的升级路径。由于 #21 和相关问题中的一些讨论,1.4 的版本被恢复。
该包应与单个类Jean85PrettyVersions
一起使用:它提供了一个为请求的包返回Jean85Version
对象的方法,如下例所示:
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()
方法相同。
Jean85Version
类具有以下可用的公共方法:
getPrettyVersion(): string
:如果请求的包是标记版本,它将仅返回短版本;如果不是,它将输出与getVersionWithShortCommit()
相同的结果
getShortVersion(): string
:它将仅返回包的版本(即6.0.0
、 v.1.7.0
、 99999-dev
等...)
getReference(): string
将返回已安装包的引用,通常是完整的 Git 提交哈希
getShortReference(): string
将返回引用的缩短版本(即fa5711
)
getVersionWithShortReference(): string
:它将返回包的版本,后跟引用的短版本(即6.0.0@fa5711
)
getPackageName(): string
将返回原始包名称
getFullVersion(): string
将返回与PackageVersionsVersions::getVersion()
相同的值
__toString(): string
将返回与getPrettyVersion()
相同的值
自 1.5 版本以来,有两种额外的方法可用:
PrettyVersions::getRootPackageName
返回当前(根)项目的包名称,因此基本上是composer.json
中的name
属性值;它是一个兼容层,用于代替PackageVersionsVersions::ROOT_PACKAGE_NAME
,这将是暂时的依赖项,并且不保证存在PrettyVersions::getRootPackageVersion
,这是PrettyVersions::getVersion(PrettyVersions::getRootPackageName())
的快捷方式名称中带有reference
方法是在 2.0 版本中引入的,以更好地反映从 Composer 2 API 检索的数据的含义。该行为与旧方法相同,旧方法仍然存在但已弃用:
新方法 | 旧的、已弃用的方法 |
---|---|
Version::getReference() | Version::getCommitHash() |
Version::getShortReference() | Version::getShortCommitHash() |
Version::getVersionWithShortReference() | Version::getVersionWithShortCommit() |