Start · Sprachen · PHP · Kapitel · Composer & Pakete
// Kapitel · PHP

Composer & Pakete

Composer ist der de-facto Standard-Paketmanager für PHP. Ohne ihn kein modernes PHP-Projekt.

Neues Projekt starten

composer init                # interaktiv
composer create-project laravel/laravel my-app   # Skeleton für Laravel

Paket installieren

composer require guzzlehttp/guzzle
composer require --dev pestphp/pest
composer require symfony/console:^7.0    # Version pinnen

composer.json — die wichtigsten Felder

{
    "name": "reisener/programmierung",
    "type": "project",
    "require": {
        "php": "^8.2",
        "laravel/framework": "^12.0"
    },
    "require-dev": {
        "pestphp/pest": "^4.1"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "test": "pest",
        "cs":   "pint"
    }
}

Häufige Befehle

composer install                       # Alle Abhängigkeiten aus composer.lock installieren
composer update                        # composer.lock aktualisieren
composer update laravel/framework      # Nur ein Paket updaten
composer remove some/package
composer dump-autoload                 # Autoloader neu aufbauen
composer show --outdated               # Was ist veraltet?
composer audit                         # Security-Advisories prüfen
composer run test                      # Custom Script

composer.lock committen — immer!

Die composer.lock pinnt exakte Versionen. Sie muss ins Git — nur so ist eure Umgebung reproduzierbar. Ohne Lock-File installiert jeder Entwickler potenziell andere Versionen.