Небольшая независимая оболочка для получения строк красивых версий ваших зависимостей.
^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, с плавным путем обновления. Выпуск 1.4 был отменен из-за некоторых обсуждений в #21 и связанных с ним проблем.
Этот пакет следует использовать с одним классом 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 доступны два дополнительных метода:
PrettyVersions::getRootPackageName возвращает имя пакета текущего (корневого) проекта, то есть, по сути, значение свойства name в вашем composer.json ; это уровень совместимости, который будет использоваться вместо PackageVersionsVersions::ROOT_PACKAGE_NAME , который будет временной зависимостью, и его присутствие не гарантируется.PrettyVersions::getRootPackageVersion , который является ярлыком для PrettyVersions::getVersion(PrettyVersions::getRootPackageName()) Методы со reference в названии были представлены в версии 2.0, чтобы лучше отражать смысл данных, полученных из API Composer 2. Поведение такое же, как и у старых методов, которые все еще присутствуют, но устарели:
| Новый метод | Старый устаревший метод |
|---|---|
Version::getReference() | Version::getCommitHash() |
Version::getShortReference() | Version::getShortCommitHash() |
Version::getVersionWithShortReference() | Version::getVersionWithShortCommit() |