Un petit wrapper indépendant pour obtenir de jolies chaînes de versions de vos dépendances.
^1.5 || ^2.0
, pour obtenir toutes les fonctionnalités sans contraindre vos utilisateurs finaux à passer immédiatement à Composer 2.Pour installer, utilisez Composer :
composer require 'jean85/pretty-package-versions:^1.5 || ^2.0'
composer.json
: {
"require" : {
"jean85/pretty-package-versions" : " ^1.5 || ^2.0 "
}
}
Ce paquet est né comme un emballage mince pour ocramius/package-versions ; avec l'avènement de Composer 2, cela n'est plus nécessaire, puisque nous pouvons utiliser directement ComposerInstalledVersions
. Cela a conduit à ce tableau de compatibilité des versions :
pretty-package-versions | Compositeur | Dépendance utilisée |
---|---|---|
Jusqu'à 1,2 | 1.x uniquement | ocramius/package-versions |
1.3 | 1.x et 2.x | composer/package-versions-deprecated , fork d' ocramius/package-versions |
1.4 | 2.x uniquement | Aucun |
1,5+ | 1.x et 2.x | composer/package-versions-deprecated , fork d' ocramius/package-versions |
2.0 | 2.x uniquement | Aucun |
Cela signifie qu'avec ce package, vous pouvez obtenir de jolies versions sans lier votre utilisateur à une version spécifique de Composer, avec un chemin de mise à niveau fluide. La version 1.4 a été annulée en raison de certaines discussions dans le numéro 21 et de problèmes associés.
Ce package doit être utilisé avec une seule classe, Jean85PrettyVersions
: il fournit une seule méthode qui renvoie un objet Jean85Version
pour le package demandé, comme dans cet exemple :
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'
La classe Version
a également une méthode __toString()
implémentée, elle peut donc être facilement convertie en chaîne ; le résultat serait le même que si vous appeliez la méthode getPrettyVersion()
.
La classe Jean85Version
dispose de ces méthodes publiques :
getPrettyVersion(): string
: si le package demandé est une version balisée, il renverra uniquement la version courte ; sinon, il affichera le même résultat que getVersionWithShortCommit()
getShortVersion(): string
: il renverra uniquement la version du package (c'est-à-dire 6.0.0
, v.1.7.0
, 99999-dev
etc...)
getReference(): string
renverra la référence du package installé, généralement le hachage complet du commit Git
getShortReference(): string
renverra la version raccourcie de la référence (c'est-à-dire fa5711
)
getVersionWithShortReference(): string
: il renverra la version du package, suivie de la version courte de la référence (ie 6.0.0@fa5711
)
getPackageName(): string
renverra le nom du package d'origine
getFullVersion(): string
renverra la même valeur que PackageVersionsVersions::getVersion()
__toString(): string
renverra la même chose que getPrettyVersion()
Depuis la version 1.5, deux méthodes supplémentaires sont disponibles :
PrettyVersions::getRootPackageName
renvoie le nom du package du projet actuel (racine), donc essentiellement la valeur de la propriété name
dans votre composer.json
; il s'agit d'une couche de compatibilité à utiliser à la place de PackageVersionsVersions::ROOT_PACKAGE_NAME
, ce qui serait une dépendance transitoire et sa présence n'est pas garantiePrettyVersions::getRootPackageVersion
, qui est un raccourci vers PrettyVersions::getVersion(PrettyVersions::getRootPackageName())
Les méthodes avec reference
dans le nom ont été introduites dans la version 2.0, pour mieux refléter la signification des données extraites de l'API Composer 2. Le comportement est le même que celui des anciennes méthodes, toujours présentes mais obsolètes :
Nouvelle méthode | Méthode ancienne et obsolète |
---|---|
Version::getReference() | Version::getCommitHash() |
Version::getShortReference() | Version::getShortCommitHash() |
Version::getVersionWithShortReference() | Version::getVersionWithShortCommit() |