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 250

Dependents: 1

Suggesters: 0

Security: 0

Stars: 3

Watchers: 2

Forks: 74

Type:composer-plugin

1.1.0 2016-07-21 12:03 UTC

This package is auto-updated.

Last update: 2024-04-05 17:27:24 UTC


README

This is a backport of ocramius/package-versions that support php 5.6, while ocramius/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

Build Status Scrutinizer Code Quality Code Coverage Packagist Packagist Pre Release

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.