Das Buch

Das Buch

Mit der Version 5 hat PHP einen großen Schritt getan und sich zu einer Sprache entwickelt, die objektorientierte Software-Entwicklung auf einem ganz neuen Level ermöglicht.

PHP Design Patterns vermittelt Wissen, das beim Entwurf komplexer Anwendungen hilft, diese flexibel, erweiterbar und performant zu implementieren. Es zeigt, dass Entwurfsmuster, die sich in anderen Sprachen wie Java oder C++ bewährt haben, auch in PHP erfolgreich eingesetzt werden können.

In praxisorientierten Beispielen wird gezeigt, wie diese Design Patterns von den Features, die PHP bietet, profitieren können und wie man Ansätze implementiert, die in anderen Sprachen nicht realisierbar wären.

Da PHP häufig für die Entwicklung von Webanwendungen eingesetzt wird, setzt auch das Buch den Fokus auf die Anwendung von Patterns im Internet.

Der Inhalt

Der Inhalt

Das Buch gliedert sich in sieben Kapitel und einen Anhang. Es führt den Leser dabei durch alle wichtigen Aspekte, die bei der Anwendung von Entwurfsmustern in PHP relevant sind.

Die einzelnen Kapitel behandeln dabei die folgenden Themen:

Kapitel 1: Objektorientierte Programmierung in PHP 5.1

Kapitel 1, Objektorientierte Programmierung in PHP 5.1, befasst sich mit den Grundlagen objektorientierter Programmierung und zeigt, wie diese angewandt werden. Neben Klassen und Interfaces behandelt dieses Kapitel die Fehlerbehandlung mit Exceptions, Interzeptormethoden in PHP sowie die Klassen und Interfaces der Standard PHP Library (SPL).

Kapitel 2: Gutes Software-Design

Kapitel 2, Gutes Software-Design, vermittelt dem Leser grundlegende Design-Richtlinien, auf denen die nachfolgenden Entwurfsmuster aufbauen. Weiterhin vermittelt es dem Leser einen Einblick in die Unified Modeling Language (UML) und erklärt, wie typische Pattern-Kataloge aufgebaut sind.

Kapitel 3: Erzeugungsmuster

Kapitel 3, Erzeugungsmuster, behandelt Entwurfsmuster, die eingesetzt werden, um Objekte zu erzeugen. Vorgestellt werden in diesem Kapitel das "Singleton-Pattern", das "Factory-Method-" und das "Abstract-Factory-Pattern".

Kapitel 4: Strukturmuster

Kapitel 4, Strukturmuster, befasst sich mit Patterns, die bei der Komposition von Objekten Anwendung finden. Diskutiert werden in diesem Kapitel die Patterns "Composite", "Adapter", "Decorator", "Proxy" sowie "Facade". Dabei werden die einzelnen Muster voneinander abgegrenzt und ihre Vor- und Nachteile dargelegt.

Kapitel 5: Verhaltensmuster

Kapitel 5, Verhaltensmuster, zeigt, wie Entwurfsmuster, die die Interaktion einzelner Klassen und Objekte regeln, angewandt werden können. Die vorgestellten Patterns sind "Template-Method", "Subject/Observer", "Command", "Visitor" und "Iterator". Weiterhin stellt dieses Kapitel die Iterator-Implementierung der SPL vor.

Kapitel 6: Enterprise-Patterns: Datenschicht und Business-Logik

Kapitel 6, Enterprise Patterns: Datenschicht und Business Logik, stellt das Schichtenmodell vor, auf dem Model-View-Controller-Architekturen aufbauen. An Hand von Propel wird der Einsatz der Row-Data-Gateway- und Active-Record-Patterns demonstriert sowie ein kurzer Überblick über weitere Patterns der Datenschicht gegeben. Im zweiten Teil wird das Domain-Model-Pattern vorgestellt, das in der Business-Logik-Schicht eingesetzt wird. Als Entwurfsmuster außerhalb der Schichten wird das Registry-Pattern vorgestellt.

Kapitel 7: Enterprise-Patterns: Die Präsentationsschicht

Kapitel 7, Enterprise-Patterns: Die Präsentationsschicht, komplettiert die in Kapitel 6 vorgestellten Schichten um die Command-Control- und View-Schicht. Dabei werden die Muster Front-Controller und Intercepting Filter genauer betrachtet. Die Darstellung der Daten erfolgt mit Hilfe der Patterns Template-View und Template-Helper, die unter anderem durch den Einsatz der Template-Engine patTemplate umgesetzt wurden. Zum Abschluss wird das Event-Dispatcher-Pattern vorgestellt, das die Kommunikation zwischen der Schichten regelt.

Anhang A: Installation von PEAR

Anhang A, Installation von PEAR, zeigt, wie PEAR installiert und verwendet wird. Verschiedene in Kapitel 6 und 7 angesprochene Pakete können über den PEAR-Installer bezogen werden.

Der Autor

Der Autor

Stephan Schmidt ist Teamleiter bei der 1&1 Internet AG in Karlsruhe und konzipiert und entwickelt dort Webanwendungen und Bestellsysteme in PHP und Java.

Seit 2001 ist er fest in der Open-Source-Szene verwurzelt und betreibt die Website PHP Application Tools, auf der er mit anderen PHP-Entwicklern verschiedene Module für PHP unter Open-Source-Lizenzen veröffentlicht. 2003 trat er dem PEAR-Projekt bei und betreut mittlerweile über 15 Pakete sowie eine PECL-Extension.

Er ist regelmäßiger Autor für verschiedene internationale Fachmagazine, wie zum Beispiel dem PHP Magazin, php|architect und Java Magazin. Weiterhin ist er Co-Autor der PHP5 Kochbuchs, das auch im O'Reilly Verlag erschienen ist, sowie Exploring PHP von entwickler.press. Sein Wissen vermittelt er anderen Entwicklern regelmäßig auf Konferenzen rund um den Globus.

In seinem Leben neben PHP befasst er sich mit den goldenen 50ern, amerikanischen Superhelden-Comics und Burlesque.

Code Beispiele

Code Beispiele

Alle im Buch enthaltenen Code-Beispiele können als Archiv heruntergeladen werden.

Rezensionen

Rezensionen

Auf dieser Seite erfahren Sie, was andere Leser über das Buch denken.

"Alles in allem also ein rundes, das anvisierte Themengebiet hervorrangend ausfüllendes Buch, das vom Leser nur eins verlangt: Zeit und Konzentration auf den Inhalt" (Carola Kummert in PHP Magazin 1.07)

"Mit PHP Design Patterns legt Stephan Schmidt ein Werk vor, dass in keinem PHP-Bücherregal fehlen dürfte. [...] Ein solch umfassendes und praktisches Buch hat bereits seit langem auf dem deutschsprachigen Buchmarkt für PHP gefehlt, daher bleibt als Fazit nur eins: Absolute Pflichtlektüre! Kaufbefehl!" (dynamic-webpages.de)

"Stephan Schmidt zeigt mit seinem Buch PHP Design Patterns eindrucksvoll, dass sich diese Elemente professioneller Software-Entwicklung auch auf die Scriptsprache PHP übertragen und damit anwenden lassen." (Erich Holzbauer auf maandiko.de)

"I want to recommend this book to everyone who is not absolutely familiar with OO development in PHP or who comes from another OO language into PHP development. It can really give you some highly important knowledge on object oriented design patterns and on good OO development in PHP." (Tobias Schlitt)

"Stephan Schmidt legt ein Buch vor, das verständlich und flüssig geschrieben ist und sich gut sowie interessant liest. Er versteht es, die Probleme und Fragen, die zwangsläufig beim Entwurf einer Applikation aufkommen, klar auszudrücken und eine ebenso adäquate Art, mögliche Lösungen dafür zu finden." (Florian Wendland)

Impressum

Impressum

Stephan Schmidt
Humboldtstrasse 11
76131 Karlsruhe
Deutschland

Design der Website: Georg Rothweiler/screendesignr
Realisierung: Mistralys