Document new methods and update the composer-runtime-api version to 2.1
parent
82cffa17d3
commit
284ec95712
|
@ -27,6 +27,14 @@ The main use cases for this class are the following:
|
||||||
\Composer\InstalledVersions::isInstalled('psr/log-implementation'); // returns bool
|
\Composer\InstalledVersions::isInstalled('psr/log-implementation'); // returns bool
|
||||||
```
|
```
|
||||||
|
|
||||||
|
As of Composer 2.1, you may also check if something was installed via require-dev or not by
|
||||||
|
passing false as second argument:
|
||||||
|
|
||||||
|
```php
|
||||||
|
\Composer\InstalledVersions::isInstalled('vendor/package'); // returns true assuming this package is installed
|
||||||
|
\Composer\InstalledVersions::isInstalled('vendor/package', false); // returns true if vendor/package is in require, false if in require-dev
|
||||||
|
```
|
||||||
|
|
||||||
Note that this can not be used to check whether platform packages are installed.
|
Note that this can not be used to check whether platform packages are installed.
|
||||||
|
|
||||||
### Knowing whether package X is installed in version Y
|
### Knowing whether package X is installed in version Y
|
||||||
|
@ -89,6 +97,35 @@ possible for safety.
|
||||||
A few other methods are available for more complex usages, please refer to the
|
A few other methods are available for more complex usages, please refer to the
|
||||||
source/docblocks of [the class itself](https://github.com/composer/composer/blob/master/src/Composer/InstalledVersions.php).
|
source/docblocks of [the class itself](https://github.com/composer/composer/blob/master/src/Composer/InstalledVersions.php).
|
||||||
|
|
||||||
|
### Knowing the path in which a package is installed
|
||||||
|
|
||||||
|
The `getInstallPath` method to retrieve a package's absolute install path.
|
||||||
|
|
||||||
|
```php
|
||||||
|
// returns an absolute path to the package installation location if vendor/package is installed,
|
||||||
|
// or null if it is provided/replaced, or the package is a metapackage
|
||||||
|
// or throws OutOfBoundsException if the package is not installed at all
|
||||||
|
\Composer\InstalledVersions::getInstallPath('vendor/package');
|
||||||
|
```
|
||||||
|
|
||||||
|
> Available as of Composer 2.1 (i.e. `composer-runtime-api ^2.1`)
|
||||||
|
|
||||||
|
### Knowing which packages of a given type are installed
|
||||||
|
|
||||||
|
The `getInstalledPackagesByType` method accepts a package type (e.g. foo-plugin) and lists
|
||||||
|
the packages of that type which are installed. You can then use the methods above to retrieve
|
||||||
|
more information about each package if needed.
|
||||||
|
|
||||||
|
This method should alleviate the need for custom installers placing plugins in a specific path
|
||||||
|
instead of leaving them in the vendor dir. You can then find plugins to initialize at runtime
|
||||||
|
via InstalledVersions, including their paths via getInstallPath if needed.
|
||||||
|
|
||||||
|
```php
|
||||||
|
\Composer\InstalledVersions::getInstalledPackagesByType('foo-plugin');
|
||||||
|
```
|
||||||
|
|
||||||
|
> Available as of Composer 2.1 (i.e. `composer-runtime-api ^2.1`)
|
||||||
|
|
||||||
## Platform check
|
## Platform check
|
||||||
|
|
||||||
composer-runtime-api 2.0 introduced a new `vendor/composer/platform_check.php` file, which
|
composer-runtime-api 2.0 introduced a new `vendor/composer/platform_check.php` file, which
|
||||||
|
|
|
@ -65,7 +65,7 @@ class Composer
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
const RUNTIME_API_VERSION = '2.0.0';
|
const RUNTIME_API_VERSION = '2.1.0';
|
||||||
|
|
||||||
public static function getVersion()
|
public static function getVersion()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue