Was ist Composer und wozu wird es benötigt?
\n\nComposer ist ein Abhängigkeitsmanager für die Programmiersprache PHP. Wenn Sie bereits mit npm für JavaScript oder pip für Python gearbeitet haben, wird Ihnen das Funktionsprinzip von Composer bekannt vorkommen. Es ermöglicht Ihnen, Bibliotheken zu deklarieren, von denen Ihr Projekt abhängt, und deren Installation, Aktualisierung und Entfernung automatisch zu verwalten.
Wozu wird Composer benötigt? In der modernen PHP-Entwicklung wird selten alles von Grund auf neu geschrieben. Üblicherweise werden fertige Bibliotheken verwendet: für die Arbeit mit Datenbanken (Doctrine, Eloquent), HTTP-Anfragen (Guzzle), Template-Engines (Twig), Logging (Monolog) usw. Früher luden Entwickler ZIP-Archive herunter, kopierten Dateien manuell und banden sie über require ein. Das war umständlich, Versionen waren schwer zu verwalten und Abhängigkeiten zu aktualisieren. Composer löst all diese Probleme:
- \n
- Automatisches Laden (Autoloading): Composer generiert eine Autoload-Datei, die automatisch alle benötigten Klassen einbindet. Sie müssen keine Dutzende von
require_onceschreiben. \n - Versionsverwaltung: Sie geben genaue Versionen (oder Bereiche) der Bibliotheken an, und Composer stellt sicher, dass diese nicht miteinander in Konflikt geraten. \n
- Zentrales Repository: Alle Bibliotheken werden auf Packagist.org gehostet – dem offiziellen Composer-Repository. \n
- Reproduzierbarkeit: Die Datei
composer.lockfixiert die genauen Versionen aller installierten Pakete, was eine identische Umgebung auf allen Maschinen (Entwicklung, Test, Produktion) garantiert. \n
Installation von Composer
\n\nInstallation unter Linux / macOS
\nDer einfachste Weg ist die Verwendung des offiziellen Installationsskripts. Öffnen Sie ein Terminal und führen Sie Folgendes aus:
\nphp -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"\nphp -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"\nphp composer-setup.php\nphp -r "unlink('composer-setup.php');"\nDanach erhalten Sie die Datei composer.phar. Um den Befehl composer global verfügbar zu machen, verschieben Sie diese:
sudo mv composer.phar /usr/local/bin/composer\n\nInstallation unter Windows
\nLaden Sie das Installationsprogramm von der offiziellen Website herunter und führen Sie es aus. Es fügt Composer automatisch zur Systemvariablen PATH hinzu.
\n\nInstallation überprüfen
\nNach der Installation führen Sie im Terminal Folgendes aus:
\ncomposer --version\nSie sollten etwas sehen wie: Composer version 2.7.1 2024-03-11 16:15:07.
Schnellstart mit einem Codebeispiel
\n\nErstellen wir ein neues Projekt und installieren eine Bibliothek für die Arbeit mit Daten – nesbot/carbon.
- \n
- Erstellen Sie ein Projektverzeichnis:\n
\nmkdir my_project\ncd my_project\n - Initialisieren Sie Composer:\n
\ncomposer initSie werden aufgefordert, den Projektnamen, die Beschreibung, den Autor usw. einzugeben. Sie können einfach die Eingabetaste drücken, um die Standardwerte zu übernehmen. Es wird die Datei
\ncomposer.jsonerstellt. \n - Installieren Sie die Carbon-Bibliothek:\n
\ncomposer require nesbot/carbonComposer lädt die Bibliothek und alle ihre Abhängigkeiten in den Ordner
\nvendor/herunter, erstellt die Dateicomposer.lockund aktualisiertcomposer.json. \n - Erstellen Sie die Datei
index.php:\n<?php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Carbon\\Carbon;\n\necho
Auch in der Bibliothek
Caching in Java: Redis, Ehcache, Caffeine, Hazelcast – Überblick und Beispiele
Event Bus und das Observer-Pattern in JavaScript (Node.js) — Erstellung flexibler ereignisgesteuerter Systeme
Geolokalisierung und Karten in C# (.NET): Bibliotheken, Beispiele und Empfehlungen
SMS-Versand mit Rust: RustSMS – API-Bibliothek für die Arbeit mit SMS-Gateways
Bcrypt für JavaScript (Node.js): Komplette Anleitung mit Beispielen