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() |