Dependency Management mit PHP
von Marco Simbürger
Es gibt eine Vielzahl von PHP-Bibliotheken (Libraries), Frameworks und Komponenten. Jedes Projekt verwendet grundsätzlich mehrere davon - das sind die Dependencies (Projektabhängigkeiten). In PHP gab es zuerst keine gute Möglichkeit, diese Dependencies zu verwalten. Selbst wenn sie manuell verwaltet wurden, mussten man sich immer noch um den Autoloader kümmern. Das ist heutzutage aber kein Thema mehr.
In PHP gibt es zwei grosse Paketverwaltungssysteme: Composer und PEAR. Composer ist der beliebteste und meistverwendete Paketmanager für PHP, jedoch war PEAR lange Zeit der primär verwendete Paketmanager. Es ist daher gut, die Geschichte von PEAR zu kennen, da man vielleicht immer noch Verweise darauf findet.
Composer und Packagist
Composer ist der empfohlene Paketmanager für PHP. Die Dependencies eines Projekts werden in einer composer.json Datei definiert und mit ein paar Befehlen lädt Composer die Dependencies des Projekts automatisch herunter und richtet das Autoloading ein. Composer ist vergleichbar mit NPM in der node.js-Welt.
Es gibt unzählige PHP-Bibliotheken, die mit Composer kompatibel sind und die in einem Projekt verwendet werden können. Diese "Pakete" sind auf Packagist, dem offiziellen Repository für Composer-kompatible PHP-Bibliotheken, aufgeführt.
Kommentare
Einen Kommentar schreiben