Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
Composer has a function in PHP code development similar to Maven in Java development. A core part of that function is component version management, which emanates from a deeper problem that has plagued software development since the origin of non-monolithic programming: consistency of interfaces between two or more cooperating processes. Similar to Maven, Composer can be hidden behind the Eclipse IDE and is an integrated part of the Eclipse PHP Development Tools (PDT), like Maven is integrated with the Eclipse Java development tools (JDT).
Composer is not ideal, but it performs a function in current time, and it will be refined over time as part of the routine engineering cycle if it becomes fully incorporated into the EATSv5 platform1In time, all executed PHP should be generated, not copied from source libraries.. In the mean time, it provides a direct implementation of a well-known PHP pattern that provides a framework for understanding EATSv5 architecture, by seeing how familiar open source artifacts can be adapted into an EATS distributed software platform.
This file is maintained by Composer and “locks” the application to particular versions of components.
This is the default name for a directory maintained by Composer for the dynamic management of the Composer library (Packagist) components which are to be incorporated into the project. The same directory contains the Composer components, scripts and data, which are needed to bootstrap the integration at run-time.
- Modern PHP: New Features and Good Practices, Chapter 4: Components
- O’Reilly, Josh Lockhart, 2015