samsonasik / package-versions
A backport of ocramius/package-versions that supports php ^5.6. Composer plugin that provides efficient querying for installed package versions (no runtime IO)
Installs: 23 262
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 68
Type:composer-plugin
Requires
- php: ^5.6 || ^7.0
- composer-plugin-api: ^1.0
Requires (Dev)
- composer/composer: ^1.0.0-ALPHA11@ALPHA
- phpunit/phpunit: ^5.2.8
Replaces
- ocramius/package-versions: >=1.0.0
This package is auto-updated.
Last update: 2024-11-05 18:54:26 UTC
README
This is a backport of
ocramius/package-versions
that support php 5.6, whileocramius/package-versions
only support php 7+.
This utility provides quick and easy access to version information of composer dependencies.
This information is derived from the composer.lock
file which is (re)generated during composer install
or composer update
.
$version = \PackageVersions\Versions::getVersion('samsonasik/package-versions'); var_dump($version); // 1.0.0@0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 $version = \PackageVersions\Versions::getShortVersion('samsonasik/package-versions'); var_dump($version); // 1.0.0 $version = \PackageVersions\Versions::getMajorVersion('samsonasik/package-versions'); var_dump($version); // 1
Installation
composer require samsonasik/package-versions
It is suggested that you re-dump the autoloader in order to prevent
autoload I/O when accessing the PackageVersions\Versions
API:
composer dump-autoload --optimize
Use-cases
This repository implements PackageVersions\Versions::getVersion()
in such a way that no IO
happens when calling it, because the list of package versions is compiled during composer
installation.
This is especially useful when you want to generate assets/code/artifacts that are computed from the current version of a certain dependency. Doing so at runtime by checking the installed version of a package would be too expensive, and this package mitigates that.