Ein kleiner, unabhängiger Wrapper, um hübsche Versionszeichenfolgen Ihrer Abhängigkeiten zu erhalten.
^1.5 || ^2.0
zu fordern ^1.5 || ^2.0
, um alle Funktionen zu erhalten, ohne Ihre Endbenutzer zu einem sofortigen Upgrade auf Composer 2 zu zwingen.Verwenden Sie zur Installation Composer:
composer require 'jean85/pretty-package-versions:^1.5 || ^2.0'
composer.json
: {
"require" : {
"jean85/pretty-package-versions" : " ^1.5 || ^2.0 "
}
}
Dieses Paket wurde als dünne Hülle für ocramius/package-versions geboren; Mit der Einführung von Composer 2 ist dies nicht mehr erforderlich, da wir ComposerInstalledVersions
direkt verwenden können. Dies führte zu dieser Versionskompatibilitätstabelle:
pretty-package-versions | Komponist | Abhängigkeit verwendet |
---|---|---|
Bis 1.2 | Nur 1.x | ocramius/package-versions |
1.3 | Sowohl 1.x als auch 2.x | composer/package-versions-deprecated , Zweig von ocramius/package-versions |
1.4 | Nur 2.x | Keiner |
1,5+ | Sowohl 1.x als auch 2.x | composer/package-versions-deprecated , Zweig von ocramius/package-versions |
2.0 | Nur 2.x | Keiner |
Das bedeutet, dass Sie mit diesem Paket hübsche Versionen erhalten können, ohne Ihren Benutzer an eine bestimmte Composer-Version zu binden, und das mit einem reibungslosen Upgrade-Pfad. Die Veröffentlichung von 1.4 wurde aufgrund einiger Diskussionen in Nr. 21 und damit zusammenhängender Probleme zurückgesetzt.
Dieses Paket sollte mit einer einzelnen Klasse verwendet werden, Jean85PrettyVersions
: Es stellt eine einzelne Methode bereit, die ein Jean85Version
Objekt für das angeforderte Paket zurückgibt, wie in diesem Beispiel:
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'
In der Version
-Klasse ist auch die Methode __toString()
implementiert, sodass sie problemlos in einen String umgewandelt werden kann. Das Ergebnis wäre dasselbe wie beim Aufruf der Methode getPrettyVersion()
.
Für die Klasse Jean85Version
stehen die folgenden öffentlichen Methoden zur Verfügung:
getPrettyVersion(): string
: Wenn das angeforderte Paket eine getaggte Version ist, wird nur die Kurzversion zurückgegeben; Wenn nicht, wird das gleiche Ergebnis wie bei getVersionWithShortCommit()
ausgegeben.
getShortVersion(): string
: Es wird nur die Version des Pakets zurückgegeben (z. B. 6.0.0
, v.1.7.0
, 99999-dev
usw.)
getReference(): string
gibt die Referenz des installierten Pakets zurück, im Allgemeinen den vollständigen Git-Commit-Hash
getShortReference(): string
gibt die gekürzte Version der Referenz zurück (z. B. fa5711
)
getVersionWithShortReference(): string
: Es wird die Version des Pakets zurückgegeben, gefolgt von der Kurzversion der Referenz (z. B. 6.0.0@fa5711
).
getPackageName(): string
gibt den ursprünglichen Paketnamen zurück
getFullVersion(): string
gibt den gleichen Wert zurück wie PackageVersionsVersions::getVersion()
__toString(): string
gibt dasselbe zurück wie getPrettyVersion()
Seit der Version 1.5 stehen zwei zusätzliche Methoden zur Verfügung:
PrettyVersions::getRootPackageName
gibt den Paketnamen des aktuellen (Root-)Projekts zurück, also im Grunde den name
in Ihrer composer.json
; Es handelt sich um eine Kompatibilitätsschicht, die anstelle von PackageVersionsVersions::ROOT_PACKAGE_NAME
verwendet werden kann, was eine vorübergehende Abhängigkeit wäre und deren Vorhandensein nicht garantiert istPrettyVersions::getRootPackageVersion
, eine Verknüpfung zu PrettyVersions::getVersion(PrettyVersions::getRootPackageName())
Die Methoden mit reference
im Namen wurden in der Version 2.0 eingeführt, um die Bedeutung der von der Composer 2-API abgerufenen Daten besser widerzuspiegeln. Das Verhalten ist das gleiche wie bei den alten Methoden, die immer noch vorhanden, aber veraltet sind:
Neue Methode | Alte, veraltete Methode |
---|---|
Version::getReference() | Version::getCommitHash() |
Version::getShortReference() | Version::getShortCommitHash() |
Version::getVersionWithShortReference() | Version::getVersionWithShortCommit() |