Besuche unseren Sponsor
Bad Dream - Entertainment & Service

Composer – Ein Paketmanager für PHP

Composer ist quasi npm für PHP. Klingt gut? Das schauen wir uns an. 

Was ist Composer

Composer ist ein anwendungsorientierter Paketmanager für PHP und steht unter der MIT Lizenz. Es ist kein ein Paketmanager im Sinne von Yum oder Apt sondern wurde stark inspiriert von Node’s npm und Ruby’s bundler.

Composer kann über die Kommandozeile ausgeführt werden und installiert Abhängigkeiten (zum Beispiel: Bibliotheken) eines PHP Programmes. Verfügbare PHP Anwendungen können über die Plattform „Packagist“ gesucht werden.

Installation

Zum Installieren von Composer wechselt man ins Projektverzeichnis und führt folgenden Befehl aus (php sollte dazu in der Path-Variable stehen):

 
curl -s https://getcomposer.org/installer | php 

Die composer.phar Datei wird jetzt ins Verzeichnis heruntergeladen. Als nächstes erstellt man eine composer.json Datei, in die man einträgt, welche Pakete benötigt werden.

 
{ 
  { 
    'monolog/monolog': '1.0.*'; 
  } 
} 

Jetzt können die Pakete installiert werden.


php composer.phar install

Die Pakete werden nun in den Unterordner vendor heruntergeladen.

Man kann sich die composer.json auch automatisch erzeugen und die abhängigen Pakete herunterladen lassen. Dazu verwendet man das Schlüsselwort require. Läßt man die Angabe der Version weg, wird die neueste Version heruntergeladen.


php composer.phar require monolog/monolog;

Ein Update eines Paketes ruft man mittels Schlüsselwort update ab.


php composer.phar update monolog/monolog;

Autoloader

Composer erzeugt zusätzlich eine Datei vendor/autoloader.php. Diese kann man einfach im PHP Code des Projektes inkludieren und erhält einen Autoloader.

require __DIR__ . '/vendor/autoload.php';

Damit kann man die Klassen alle vorhandenen Pakete einfach verwenden, sie werden vom Autoloader geladen, wenn sie benötigt werden.

Will man den Autoloader nicht verwenden, kann man die Dateien vendor/composer/autoload_*.php auch einzeln inkludieren. Die Dateien hat Composer für uns erstellt.

Fazit

Ganz ehrlich, auf Paketmanager wie npm und bower mag ich nicht mehr verzichten. Zu bequem ist das ganze. Für PHP reiht sich Composer nahtlos ein.

2 Comments

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert