Composer verwaltet Bibliotheken und Werkzeuge, die ein PHP-Projekt benötigt. Die Datei composer.json beschreibt direkte Abhängigkeiten und gewünschte Versionsbereiche. Composer löst daraus eine miteinander kompatible Kombination auf und dokumentiert die konkret installierten Versionen in composer.lock.
Die Lock-Datei ist für Anwendungen besonders wichtig: Entwicklung, Testsystem und Produktion erhalten damit denselben Abhängigkeitsstand. Der Befehl install übernimmt diesen festgelegten Stand, während update neue passende Versionen ermittelt. Diese beiden Vorgänge sollten nicht verwechselt werden.
Composer erzeugt außerdem einen Autoloader. Klassen aus dem eigenen Projekt und installierten Paketen können dadurch anhand definierter Namensräume geladen werden, ohne Dateien manuell einzubinden. Skripte ermöglichen wiederkehrende Projektaufgaben, sollten jedoch geprüft werden, weil Pakete bei der Installation Code ausführen können.
Wichtige Grundlagen
- composer.json beschreibt Anforderungen, composer.lock fixiert den geprüften Stand.
- install reproduziert Versionen, update berechnet neue Versionen.
- Der generierte Autoloader verbindet Klassen und Namensräume zuverlässig.
Abhängigkeiten sollten regelmäßig, aber kontrolliert aktualisiert werden. Automatische Tests und ein Blick in die Änderungsprotokolle reduzieren das Risiko, dass ein Update unbemerkt bestehendes Verhalten verändert.
