Composer ist ein Paket- bzw. Dependency-Manager für PHP. Damit ist es möglich die Abhängigkeiten von PHP-Projekten komfortabel zu verwalten und aktuell zu halten. Dazu wird in dem Projekt eine Datei mit dem Namen composer.json angelegt. In dieser Datei finden sich die Abhängigkeiten für das Projekt:
{ "minimum-stability": "RC", "require": { "slim/slim": "3.*" } }
Um diese Abhängigkeiten initial dem Projekt hinzuzufügen, muss der Befehl:
composer install
eingegeben werden. Anschließend werden die Abhängigkeiten aufgelöst und heruntergeladen:
Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 6 installs, 0 updates, 0 removals - Installing psr/container (1.0.0): Loading from cache - Installing container-interop/container-interop (1.2.0): Loading from cache - Installing nikic/fast-route (v1.3.0): Loading from cache - Installing psr/http-message (1.0.1): Loading from cache - Installing pimple/pimple (v3.2.3): Loading from cache - Installing slim/slim (3.12.1): Loading from cache Writing lock file Generating autoload files
Nach der initialen Installation, finden die sich die Abhängigkeiten im Ordner vendor. Daneben wird eine composer.lock-Datei angelegt. In dieser sind die genauen Versionsnummern, der installierten Abhängigkeiten hinterlegt. Würde das Projekt nun nochmal mit der install-Option aufgerufen werden, so würden exakt diese Versionen installiert. Sollen diese Abhängigkeiten später aktualisiert werden, kann dafür der Befehl:
composer update
genutzt werden. Dabei werden die Versionen, welche sich in der composer-lock-Datei befinden ebenfalls aktualisiert.
Bezogen werden kann Composer unter anderem auf der offiziellen Seite unter getcomposer.org. Der Quelltext von Composer ist auf GitHub zu finden. Die Software ist unter der MIT-Lizenz lizenziert und damit freie Software.