Navigation
 Startseite
 Fachbücher
 Anzeigenmarkt
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Webhoster Vergleich
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Artfiles.de
Bietet Serviceorientierte...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains...
https://www.Hosterplus.de
 
 
 

Composer: Der Dependency Manager für PHP verstehen und nutzen

Sie befinden sich: Home > Php Tutorial > Composer: Der Dependency...

Composer: Der Dependency Manager für PHP verstehen und nutzen


Eintrag am:  25.03.2026
Hits / Besucher:  35
Sprache:  Deutsch
Kategorie:  Fortgeschrittene...
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

In PHP Projekten wachsen die Abhängigkeiten von externen Bibliotheken schnell an. Wer Pakete manuell herunterlädt und per require einbindet, verliert rasch den Überblick über Versionen und Kompatibilitäten. Composer löst dieses Problem als Dependency Manager für PHP. Er verwaltet alle Abhängigkeiten pro Projekt und stellt einen Autoloading Mechanismus bereit. Dieses Tutorial erklärt die Installation, die wichtigsten Befehle sowie den Aufbau von composer.json und composer.lock.

Illustration zum Tutorial: Composer: Der Dependency Manager für PHP verstehen und nutzen

Zuerst wird geklärt, was Composer überhaupt leistet. Danach folgen die Installation, das Einbinden von Paketen und die Einrichtung des Autoloadings.

Was ist Composer?

Composer ist ein Dependency Manager, der speziell für PHP entwickelt wurde. Im Gegensatz zu systemweiten Paketmanagern arbeitet Composer projektbezogen und installiert alle Pakete in ein lokales vendor/ Verzeichnis. Das zentrale Repository für Composer Pakete ist Packagist.org, wo tausende PHP Bibliotheken verfügbar sind.

flowchart TD
    A["composer.json"] --> B["composer install / update"]
    B --> C["Packagist.org"]
    C --> D["Pakete herunterladen"]
    D --> E["vendor/ Verzeichnis"]
    E --> F["vendor/autoload.php"]
    F --> G["Klassen automatisch laden"]

Das Diagramm zeigt den typischen Ablauf: Die Datei composer.json definiert die gewünschten Pakete, Composer lädt sie von Packagist herunter und legt alles im vendor/ Verzeichnis ab. Der generierte Autoloader macht alle Klassen sofort verfügbar.

Composer installieren

Die Installation erfolgt über ein Installationsskript, das direkt von der offiziellen Webseite bereitgestellt wird.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php composer-setup.php
php -r "unlink('composer-setup.php');"

Nach der Ausführung steht die Datei composer.phar im aktuellen Verzeichnis bereit. Für eine systemweite Nutzung kann sie nach /usr/local/bin/composer verschoben werden.

Das erste Paket einbinden

Mit dem Befehl composer require wird ein Paket zum Projekt hinzugefügt. Composer erstellt dabei automatisch die Datei composer.json, falls sie noch nicht existiert.

composer require monolog/monolog

Nach der Ausführung enthält die composer.json die neue Abhängigkeit.

{

"require": {
"monolog/monolog": "^3.0"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}

Das Zeichen ^3.0 bedeutet, dass jede Version ab 3.0 bis unter 4.0 akzeptiert wird. Composer legt zusätzlich eine composer.lock Datei an, die die exakt installierte Version fixiert. Diese Datei sollte immer in die Versionskontrolle eingecheckt werden.

Abhängigkeiten installieren und aktualisieren

Composer unterscheidet klar zwischen install und update. Der Befehl composer install liest die composer.lock und installiert exakt die dort festgehaltenen Versionen.

composer install

Der Befehl composer update prüft, ob neuere Versionen verfügbar sind, die zu den Versionsbeschränkungen in composer.json passen, und schreibt die composer.lock neu.

composer update

Als Faustregel gilt: composer install wird für das Deployment und beim Klonen eines Projekts verwendet, composer update nur bewusst auf dem Entwicklungsrechner.

Autoloading mit Composer

Einer der größten Vorteile von Composer ist der integrierte Autoloading Mechanismus. Er erspart das manuelle Einbinden von Dateien über require oder include. Der PSR 4 Standard bildet dabei Namespaces auf Verzeichnisse ab.

<?php

/* Autoloader einbinden */
require_once __DIR__ . '/vendor/autoload.php';

/* Installiertes Paket nutzen */
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$log = new Logger('app');
$log->pushHandler(
new StreamHandler(__DIR__ . '/app.log', Logger::WARNING)
);

$log->warning('Das ist eine Warnung.');

Die einzige manuell benötigte Zeile ist require_once __DIR__ . '/vendor/autoload.php'. Danach stehen alle installierten Pakete und eigene Klassen automatisch zur Verfügung.

<?php

/* Eigene Klasse unter src/Mail/Mailer.php */
namespace App\Mail;

class Mailer
{
public function send(string $empfaenger, string $betreff): bool
{
/* Logik zum Versenden der E-Mail */
return mail($empfaenger, $betreff, 'Inhalt der Nachricht');
}
}

Diese Klasse ist dank PSR 4 Autoloading unter dem Namespace App\Mail erreichbar. Nach dem Hinzufügen neuer Autoload Regeln muss einmalig composer dump-autoload ausgeführt werden.

Wichtige Composer Befehle im Überblick

Die folgende Übersicht fasst die wichtigsten Befehle zusammen.

<?php

/* Übersicht der wichtigsten Composer Befehle als Array */
$befehle = [
'composer init' => 'Neues Projekt interaktiv anlegen',
'composer require' => 'Paket hinzufügen',
'composer install' => 'Abhängigkeiten aus composer.lock installieren',
'composer update' => 'Pakete aktualisieren und Lock-Datei neu schreiben',
'composer dump-autoload' => 'Autoloader neu generieren',
'composer remove' => 'Paket entfernen',
'composer show' => 'Installierte Pakete anzeigen',
];

foreach ($befehle as $befehl => $beschreibung) {
echo $befehl . ': ' . $beschreibung . PHP_EOL;
}

Composer ist ein unverzichtbares Werkzeug für die professionelle PHP Entwicklung. Er verwaltet Abhängigkeiten zuverlässig, sorgt durch composer.lock für reproduzierbare Builds und stellt mit PSR 4 Autoloading eine saubere Klassenstruktur sicher.

 

Tags:

 

Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.