一個小型的獨立包裝器,用於獲取依賴項的漂亮版本字串。
^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() |