依存関係の適切なバージョンの文字列を取得するための小さな独立したラッパー。
^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 リリース以降、2 つの追加メソッドが利用可能になりました。
PrettyVersions::getRootPackageName
現在の (ルート) プロジェクトのパッケージ名を返します。つまり、基本的には、 composer.json
内のname
プロパティ値です。これはPackageVersionsVersions::ROOT_PACKAGE_NAME
の代わりに使用される互換性レイヤーであり、一時的な依存関係となり、存在することが保証されません。PrettyVersions::getRootPackageVersion
、 PrettyVersions::getVersion(PrettyVersions::getRootPackageName())
へのショートカットです。名前にreference
が含まれるメソッドは、Composer 2 API から取得したデータの意味をより適切に反映するために、2.0 リリースで導入されました。動作は古いメソッドと同じです。これらのメソッドはまだ存在しますが、廃止されました。
新しい方法 | 古い、非推奨のメソッド |
---|---|
Version::getReference() | Version::getCommitHash() |
Version::getShortReference() | Version::getShortCommitHash() |
Version::getVersionWithShortReference() | Version::getVersionWithShortCommit() |