Einstieg in Zend Framework 2 mit Composer

Am 05.09.2012 wurde das Zend Framework 2 in seiner ersten Stable-Version veröffentlicht. Aktuell befindet sich das Framework nun in Version 2.0.5. Das neue Zend Framework 2 versucht gegenüber seinem Vorgänger vieles anders zu machen und sich stärker an aktuellen “Standards” aus der PHP-Welt zu orientieren.

Da das ZF2 (abgekürzt für Zend Framework 2) aktuell noch relativ selten und wenig verwendet wird, soll dieser Artikel einen einfachen Einstieg bieten, wie man schnell und unkompliziert die ersten Schritte auf dem Weg zu seiner eigenen Anwendung bewältigt.

Grundsätzlich ist es empfehlenswert, für neue Projekte Composer zu verwenden. Composer ist ein Paketmanager für PHP, ähnlich PEAR. Als Besonderheit kann dieser Abhängigkeiten zu anderen Paketen selbständig auflösen und findet somit in den meisten Fällen eine optimale Konfiguration. Dadurch lassen sich schnell die benötigten Pakete in nur wenigen Schritten zusammenstecken und anschließend automatisch installieren und/oder aktualisieren.
Composer verwendet als zentrales Repository packagist.org. Es ist auch ohne Weiteres möglich, eigene Repositories zu verwenden. Eigene Repositories verwendet man häufig dann, wenn man nicht-öffentliche Pakete in das eigene Projekte einbinden möchte oder sein Code.

Das neue ZF2 ist als Paket auf packagist.org zu finden. Zusätzlich zu Packagist gibt es auch ein eigenes Package-Repository von Zend für das ZF2. Dieses ist auf der offiziellen ZF-Homepage zu finden. Darüber lassen sich einzelne Bestandteile, aus denen das ZF2 insgesamt besteht, einzeln verwenden. Besteht eine Abhängigkeit einer Komponente auf eine andere, so löst Composer diese selbstständig auf.

Zend Skeleton Application

Installation

Für einen möglichst schnellen und unkomplizierten Einstieg in das ZF2 empfiehlt es sich, die ZendSekeltonApplication zu verwenden. Die ZendSkeletonApplication ist eine einfache Basis Applikation, die bereits einen vollständig funktionalen Stand auf Basis des ZF2 in der Version 2.0.3 unter Verwendung der MVC-Komponenten bereitstellt. Der Vorteil davon ist, dass man sich zu Beginn nicht erst mühevoll mit dem Grundgerüst des Frameworks selber beschäftigen muss, sondern direkt loslegen kann.
Die ZendSkeletonApplication ist auf github.com zu finden. Diese lässt sich auch bequem über composer einrichten. Wer composer noch nicht installiert hat, kann dies über folgendes Kommando tun:

Um die ZendSkeletonApplication herunterzuladen und zu installieren, führt man folgendes Kommando aus:

Die Application wird nun automatisch samt aller Dependencies heruntergeladen und installiert.

composer installiert die Anwendung ohne ein .git-Verzeichnis. Mit dem Befehl git init kann dann ein eigenes git-Repository erstellt werden.

Verwendung

Ähnlich dem Konzept der Bundles in Symfony 2, bestehen im Zend Framework 2 alle Teile der Applikation aus so genannten “Modules”.

Was das neue Zend Framework 2 auf den ersten Blick vermissen lässt, ist die Einbindung der bisher bekannten eigenen Library-Funktionalität. Diese Aufgabe übernimmt jetzt das vendor/-Verzeichnis. Daraus empfiehlt es sich, Library-Funktionalität selber in eigene Repositories auszulagern und diese mittels composer einzubinden. Composer kümmert sich selbstständig um die Registrierung im Autoloader.

Fazit

Durch Verwendung des Composers ist es sehr einfach und vor allem unkompliziert, einen Einstieg für seine Webanwendung auf Basis des Zend Framework 2 zu finden.

Einen ersten Eindruck zum Zend Framework 2 hat mein Kollege Florian Eibeck in einem eigenen Blogbeitrag am 13. September 2012 veröffentlicht: http://blog.mayflower.de/archives/887-Ein-erster-Eindruck-von-Zend-Framework-2.html

Für neue Blogupdates anmelden:


4 Gedanken zu “Einstieg in Zend Framework 2 mit Composer

  1. Komponenten sind keine Module. Module sind Module. Komponenten haben keine Module-Klasse und müssen auch nicht über den ModuleManager in der Applikations-Konfiguration registriert werden.

    Seit gestern liegt ZF2 in Version 2.0.5 vor.

  2. Pingback: Adventskalender am 4. Dezember « F-LOG-GE

  3. Hallo Andreas,

    vielen Dank für deine Anmerkung. Du hast natürlich recht. Komponenten sind keine Modules. Der Fehler im Artikel ist korrigiert.

    Viele Grüße,
    Markus

Schreibe einen Kommentar

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