Description
Composition provides a lightweight and generic API, that you can use to check your
environment at runtime, instead of manually go checking for regex in constants,
classes/functions existence, matching a version against a class constant, ...
It only works when using Composer as package management tool.
Composition alternatives and similar libraries
Based on the "Dependency Management Extras" category.
Alternatively, view Composition alternatives based on common mentions on social networks and blogs.
-
Satis
Simple static Composer repository generator - For a full private Composer repo use Private Packagist -
Workflow
PHP library for defining and executing workflows with parallel processing capabilities. Allows creation of complex task chains with dependencies, conditional execution, and variable injection. -
Composed
Easily parse your project's Composer configuration, and those of its dependencies, at runtime
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Composition or a related project?
README
Composition 
Composition provides a lightweight and generic API, that you can use to check your environment at runtime, instead of manually go checking for regex in constants, classes/functions existence, matching a version against a class constant, ...
It only works when using Composer as package management tool.
Some examples
A single command to check your PHP environment :
if (!\Composition::has('vendor/super-package', '>=2.0') {
$this->markTestSkipped('The following tests require "SuperPackage" to be at least at 2.0');
}
\Composition::has('php', '5.4.*');
\Composition::has('ext-mongo');
Check the platform :
if (\Composition::isWindows()) {
// ...
}
Note
This tool should mostly be used in your unit tests, and not be abused in production.