
Dies ist ein Fachbuch, das sich einer bestimmten Technologie (Framework) einer bestimmten Programmiersprache widmet. Wenn jemand bisher nur ein Framework gelernt hat und diese Zone verlassen möchte, um neue Kenntnisse zu erwerben und mit dem Bekannten zu vergleichen, kann dieses Buch eine gute Wahl sein. Allerdings ist das Zend Framework nicht das beliebteste Entwicklungstool in der PHP-Welt, daher würde ich eher Laravel oder Symfony empfehlen.
Das Buch positioniert sich als Schritt-für-Schritt-Anleitung für Anfänger. Es enthält 10 Kapitel, von denen jedes auf dem vorherigen aufbaut.
Erste Schritte mit dem Zend Framework
Der Titel des Kapitels sagt bereits vieles. Es wird erklärt, was das Zend Framework ist und welche Eigenschaften es hat. Es zeigt, wie man es installiert, konfiguriert und eine Datenbank verbindet (nebenbei: der Autor verwendet phpMyAdmin für Datenbankoperationen, Migrationen werden daher nicht behandelt). Am Ende des Kapitels gibt es eine Zusammenfassung und ein paar Wiederholungsfragen. Diese Elemente finden sich auch in den folgenden Kapiteln.
Erstellen der ersten Anwendung mit Zend Framework
Es folgt eine kurze Einführung in Git und Composer. Danach die Konfiguration des Webservers (hier Apache). Nach einigen Schritten erscheint eine Begrüßungsnachricht — die Startseite des Projekts.
Daraufhin wird das Konzept der Modularität im Framework eingeführt sowie die Analyse der Verzeichnisstruktur. Ein Modul-Template wird installiert und für die Entität „Users“ angepasst. Das Konsolen-Tool ZFTool wird vorgestellt, das MVC-Modell beschrieben und die Modulstruktur durchgegangen. Es geht auch um die Erstellung von View-Dateien, das Hinzufügen von Code im Controller und die Konfiguration des Moduls. Ein Beispiel für das Hinzufügen einer neuen Route wird gezeigt — meiner Meinung nach ist die Methode umständlich, wie auch der Konfigurationsprozess insgesamt.
Erstellen einer Kommunikationsanwendung
Hier werden Formulare, Validierungsprozesse und Datenbankinteraktionen behandelt. Es ist erwähnenswert, dass in den Codebeispielen noch array()
anstelle von []
verwendet wird und PHP Version 5 im Einsatz ist. Schließlich werden Datenbanktabellen und die zugehörigen Modelle erstellt. Es folgt ein Beispiel für die Benutzer-Authentifizierung mit den eingebauten Funktionen des Frameworks.
Datenverwaltung und Dateifreigabe
In diesem Kapitel geht es um den ServiceManager von Zend Framework 2, der das Service Locator Pattern implementiert. Der Code wird mithilfe dieses Managers refaktorisiert. Während im vorigen Kapitel nur das Hinzufügen von Benutzern (Registrierung) behandelt wurde, wird hier ein vollständiger CRUD-Ansatz gezeigt. Zur Vereinfachung verwendet das Framework die Klasse TableGateway
, die das Interface TableGatewayInterface
implementiert. Zum Schluss wird gezeigt, wie man Dateien mit den Werkzeugen des Frameworks verarbeitet.
Chat und E-Mail
Der Autor erstellt eine Komponente mit einfachem Gruppenchat und Nachrichtensystem. Es wird besonderer Wert auf View-Dateien, JS- und CSS-Code sowie einige Hilfsfunktionen gelegt. jQuery wird auf der Client-Seite verwendet. Auf der Server-Seite wird der gesamte Ablauf betrachtet: Routing, Datenverarbeitung, Speicherung in der Datenbank. Am Ende wird das Versenden von E-Mails über Zend behandelt sowie das Event-Handling über die Klasse Zend\EventManager
.
Multimedia-Freigabe
In diesem Kapitel geht es um die Interaktion mit Drittanbieter-Diensten wie Google Photos oder YouTube mithilfe von Composer und externen Bibliotheken. Beispiele zur Erstellung von Tabellen und Views für das Hochladen von Bildern werden gezeigt — mit dem Ziel, eine Galerie aufzubauen.
Suche mit der Lucene-Bibliothek
Hier wird gezeigt, wie man eine Volltextsuche mit der Lucene-Bibliothek implementiert (in der ersten Version des Frameworks war sie integriert, in der zweiten muss sie separat installiert werden).
Ein einfacher Onlineshop
Wie der Name schon sagt, geht es um den Aufbau eines kleinen Shops. Es gibt keinen Produktkatalog, aber die Warenkorb-Funktionalität wird implementiert: Tabellen, Controller-Logik, Interface. Es gibt auch ein Beispiel zur Integration von PayPal Express Checkout mittels des SpeckPaypal-Plugins.
HTML5-Unterstützung
In diesem Kapitel geht es um neue HTML5-Tags (zur damaligen Zeit), insbesondere für Formulare. Die verfügbaren Framework-Helfer zum Arbeiten mit diesen Elementen werden aufgelistet.
Mobile Anwendung erstellen
Hier wird beschrieben, wie man eine erste mobile Cloud-Anwendung mit CCM (Cloud Connected Mobile) erstellt. Es wird auch Zend Developer Cloud vorgestellt, eine Cloud-Entwicklungsumgebung.