Composer für PHP-Anfänger: Abhängigkeiten und Autoloading
Sie starten ein neues PHP-Projekt und benötigen eine Bibliothek für Logging oder HTTP-Anfragen. Sie kopieren etwas Code, aber schnell wird es unübersichtlich. Wie verwalten Sie externe Bibliotheken richtig? Composer löst dies, indem es Abhängigkeiten und Autoloading für Sie übernimmt. In dieser Anleitung lernen Sie, wie Sie Composer von Grund auf verwenden.
Was ist Composer?
Composer ist ein Abhängigkeitsmanager für PHP. Es ermöglicht Ihnen, die Bibliotheken zu deklarieren, von denen Ihr Projekt abhängt, und verwaltet sie für Sie. Es ist kein Paketmanager wie apt oder yum; es arbeitet pro Projekt und installiert Abhängigkeiten in ein vendor-Verzeichnis.
Composer installieren
Prüfen Sie zunächst, ob Composer bereits installiert ist, indem Sie composer --version in Ihrem Terminal ausführen. Falls nicht, laden Sie es von getcomposer.org herunter und installieren Sie es. Unter Windows verwenden Sie den Installer Composer-Setup.exe. Unter macOS/Linux führen Sie das Installationsskript aus.
Eine composer.json-Datei erstellen
Jedes Composer-Projekt hat eine composer.json-Datei, die Abhängigkeiten beschreibt. Sie können eine manuell erstellen oder ausführen:
composer init
Dieser interaktive Befehl fragt nach Paketname, Beschreibung, Autor und Abhängigkeiten. Vorerst können Sie das Hinzufügen von Abhängigkeiten überspringen und die Datei später bearbeiten.
Abhängigkeiten hinzufügen
Um eine Bibliothek hinzuzufügen, verwenden Sie composer require. Um beispielsweise die beliebte Logging-Bibliothek monolog/monolog hinzuzufügen:
composer require monolog/monolog
Composer lädt die Bibliothek und ihre Abhängigkeiten in das vendor-Verzeichnis herunter und aktualisiert composer.json und composer.lock.
Versionsbeschränkungen verstehen
Composer verwendet semantische Versionierung. Häufige Beschränkungen:
^1.2erlaubt Updates auf1.x, aber nicht2.0(empfohlen für Bibliotheken).~1.2erlaubt Updates auf1.2.x, aber nicht1.3.1.2.*erlaubt jede1.2.x-Version.>=1.2