Un contenedor pequeño e independiente para obtener versiones bonitas de cadenas de sus dependencias.
^1.5 || ^2.0 , para obtener todas las funcionalidades sin obligar a los usuarios finales a actualizar inmediatamente a Composer 2.Para instalar, use Composer:
composer require 'jean85/pretty-package-versions:^1.5 || ^2.0'composer.json : {
"require" : {
"jean85/pretty-package-versions" : " ^1.5 || ^2.0 "
}
} Este paquete nació como un envoltorio delgado para ocramius/package-versions; Con la llegada de Composer 2, esto ya no es necesario, ya que podemos usar directamente ComposerInstalledVersions . Esto llevó a esta tabla de compatibilidad de versiones:
pretty-package-versions | Compositor | Dependencia utilizada |
|---|---|---|
| Hasta 1,2 | 1.x solamente | ocramius/package-versions |
| 1.3 | Tanto 1.x como 2.x | composer/package-versions-deprecated , bifurcación de ocramius/package-versions |
| 1.4 | 2.x solamente | Ninguno |
| 1.5+ | Tanto 1.x como 2.x | composer/package-versions-deprecated , bifurcación de ocramius/package-versions |
| 2.0 | 2.x solamente | Ninguno |
Esto significa que, con este paquete, puede obtener versiones bonitas sin vincular a su usuario a ninguna versión específica de Composer, con una ruta de actualización sencilla. La versión 1.4 se revirtió debido a alguna discusión en el n.° 21 y cuestiones relacionadas.
Este paquete debe usarse con una sola clase, Jean85PrettyVersions : proporciona un método único que devuelve un objeto Jean85Version para el paquete solicitado, como en este ejemplo:
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 clase Version también tiene implementado un método __toString() , por lo que se puede convertir fácilmente en una cadena; el resultado sería el mismo que llamar al método getPrettyVersion() .
La clase Jean85Version tiene estos métodos públicos disponibles:
getPrettyVersion(): string : si el paquete solicitado es una versión etiquetada, devolverá solo la versión corta; si no, generará el mismo resultado que getVersionWithShortCommit()
getShortVersion(): string : devolverá solo la versión del paquete (es decir, 6.0.0 , v.1.7.0 , 99999-dev , etc.)
getReference(): string devolverá la referencia del paquete instalado, generalmente el hash de confirmación de Git completo
getShortReference(): string devolverá la versión abreviada de la referencia (es decir, fa5711 ).
getVersionWithShortReference(): string : devolverá la versión del paquete, seguida de la versión corta de la referencia (es decir, 6.0.0@fa5711 ).
getPackageName(): string devolverá el nombre del paquete original
getFullVersion(): string devolverá el mismo valor que PackageVersionsVersions::getVersion()
__toString(): string devolverá lo mismo que getPrettyVersion()
Desde la versión 1.5, hay dos métodos adicionales disponibles:
PrettyVersions::getRootPackageName devuelve el nombre del paquete del proyecto actual (raíz), por lo que básicamente el valor de la propiedad name en su composer.json ; es una capa de compatibilidad que se utilizará en lugar de PackageVersionsVersions::ROOT_PACKAGE_NAME , lo que sería una dependencia transitoria y no se garantiza que esté presentePrettyVersions::getRootPackageVersion , que es un acceso directo a PrettyVersions::getVersion(PrettyVersions::getRootPackageName()) Los métodos con reference en el nombre se introdujeron en la versión 2.0, para reflejar mejor el significado de los datos recuperados de la API de Composer 2. El comportamiento es el mismo que el de los métodos antiguos, que todavía están presentes pero están en desuso:
| Nuevo método | Método antiguo y obsoleto |
|---|---|
Version::getReference() | Version::getCommitHash() |
Version::getShortReference() | Version::getShortCommitHash() |
Version::getVersionWithShortReference() | Version::getVersionWithShortCommit() |