Dynamic Web Pages: deutschsprachiger PHP Knotenpunkt seit 1999

Dynamic Web Pages : buecher _





 
 
 
 
 
 
 

PHP QuickRef

Via QuickRef gelangen Sie direkt zur gesuchten Funktion im Handbuch.

 
 

Printmedien

PHP-Magazin
Das PHP Magazin erscheint 2-monatlich zum Preis von 9,80 €. Studenten erfreuen sich über ermäßigte Abos.

PHP-Journal
Das PHP Journal erscheint 2-monatlich zum Preis von 14,95 €. Studenten und Abonnenten erfreuen sich über bis zu 25% Ermäßigung.

PHP Solutions Magazin
Das PHP Solutions Magazin erscheint alle 3 Monate zum Preis von 8,75 €. Studenten erfreuen sich über ermäßigte Abos.

PHP-Architect
Der php|architect erscheint monatlich als digitale PDF-Version zum Preis von $3,99 USD und als Print-Version zum Preis von $8,69 USD. Im Abo gibt es Rabatt (30% Print, 15% PDF).

 
Rezension

Mit PHP Design Patterns legt Stephan Schmidt ein Werk vor, dass in keinem PHP-Bücherregal fehlen dürfte. Spätestens seit Version 5 hat PHP den Einsatz in Unternehmensanwendungen im Visier, was von PHP-Programmierern und -Architekten zunehmend professionelles Softwaredesign für Anwendungen abverlangt. Merkmale wie Performance, Skalierbarkeit, Modularisierbarkeit, Wartbarkeit und Code-Reuse stehen seitdem ganz oben auf der Liste von Applikationsmerkmalen und deren Beherrschung wird bei professionellen PHP-Entwicklern als Selbstverständlichkeit vorausgesetzt. In dieses noch spannende Umfeld von PHP, für das in Zukunft noch einiges zu erwarten sein dürfte, stößt Stephan Schmidt mit dem vorgelegten, deutschsprachigen Buch über Design Patterns mit PHP aus dem O'Reilly Verlag.

Entwickler, die bisher mit objektorientiertem Code noch nicht viel am Hut hatten, lässt der Autor nicht am Wegesrand liegen, sondern nimmt diese auf den ersten 50 Seiten des Buches mit in das Abenteuerland Design Patterns, indem er auf verständliche und praktische Art und Weise in die Objektorientierung in PHP samt aller wesentlichen Features die PHP in diesem Bereich zu bieten hat, einführt: Klassen, Interfaces, Objekte, Interzeptoren, SPL sowie Exceptions werden nach den ersten 50 Seiten für den Leser kein Fremdwort mehr sein. Wer sich hier schon auf sicherem Terrain bewegt, der kann dieses Kapitel getrost überspringen, wobei es dennoch eine Freude ist zu lesen, mit welcher Leichtigkeit der Autor diese mitunter doch trockenen Sprachmerkmale zu vermitteln versteht.

Im zweiten Kapitel wird sich den Grundlagen von gutem Softwaredesign im Allgemeinen gewidmet und dieses anhand des Beispiels aus dem ersten Kapitel exemplarisch verdeutlicht. Der Leser lernt, welche Anforderungen Klassen erfüllen müssen, um den Anspruch von Flexibilität und Erweiterbarkeit erfüllen zu können. Ideen wie Kapselung, Objektkompositionen, Programmierung "gegen" Interfaces oder lose Koppelung von Klassen sind nach diesem Kapitel nicht mehr fremd und eröffnen mitunter einen neuen Blick auf die eigene Programmierung. Erste Design Patterns werden ebenfalls vorgestellt - vor allem aber zeigt der Autor auf, wie man schnell das richtige Design Pattern zu einem vorliegenden Problem findet und einsetzt.
Den Abschluss dieses Kapitels macht eine kurze Übersicht zur Unified Modeling Language (UML), so dass der Leser alle in den folgenden Kapiteln dargestellten Modelle in UML auch nachvollziehen kann. Wer hier vertieftes Wissen benötigt, sollte natürlich auf ein separates Werk zurückgreifen, mehr UML würde in diesem Buch über Design Patterns fehl am Platze sein.

Ab dem dritten Kapitel startet der Autor durch: Basierend auf bekannten Unterteilungen von Design Patterns in Erzeugungsmuster, Strukturmuster und Verhaltensmuster wird jedem dieser Bereiche ein eigenes Kapitel gewidmet. In Kapitel drei werden Erzeugungsmuster wie das Singleton-, Factory- sowie das Abstract-Factory-Pattern vorgestellt. Im vierten Kapitel werden das Composite-, Adapter-, Decorator-, Proxy- und Facade-Pattern erläutert und im fünften Kapitel das Subject/Observer-, Template-Method-, Command-, Visitor- und Iterator-Pattern.
Dabei geht der Autor nach einem einheitlichen Schema vor: Zuerst wird der Sinn und Zweck des Patterns erläutert, um es dann anhand eines praktischen Beispiels in PHP umzusetzen. Dabei werden auch bekannte Fallstricke aufgezeigt. Abschließend wird für jedes Pattern eine Definition nebst UML-Diagramm und die Konsequenzen des Einsatzes für die Applikation aufgezeigt. Weitere Anwendungsbeispiele sowie sofern vorhanden Variationen schließen die Unterkapitel zu den einzelnen Pattern ab.

Ab Kapitel sechs geht es auf zu Enterprise-Pattern im Webumfeld (da PHP in diesem Bereich ganz klar seinen Fokus und seine Stärken ahat). Während Kapitel sechs sich mit der Datenschicht und Business-Logik befasst, widmet sich Kapitel sieben der Präsentationsschicht. Zentral für die Datenschicht, bei der es um die persistente Speicherung der anfallenden Daten geht, sind das Row-Data-Gateway- sowie das Active-Record-Pattern, wobei aber auch andere Pattern wie das Table-Data-Gateway-, Data-Mapper und das Identity-Map-Pattern vorgestellt werden. Als kleines Intermezzo liefert der Autor in diesem Abschnitt noch einen Ausflug zum Registry-Pattern, welches eine zentrale, schichtenunabhängige Anlaufstelle für alle Objekte der Anwendung darstellt und somit eigentlich keiner Schicht wirklich zuzuordnen ist.
Die Business-Logik-Schicht enthält die Logik der Geschäftsprozesse, d.h. hier werden die realen Anforderungen an das Projekte implementiert und die Prozesse ausgeführt. Da es im Grunde keine Pattern gibt, die dieser Schicht explizit zuzuordnen wären, daher nutzt der Autor an dieser Stelle die Gelegenheit, das Domain-Model-Pattern vorzustellen. Dieses ist dem Leser freilich bereits seit dem ersten Kapitel bekannt, da es ein Objektmodell der Geschäftsdomäne spezifiziert, welches sowohl die Daten als auch das Verhalten der Objekte beinhaltet.
Im letzten Kapitel über die Präsentationsschicht werden dem Leser Pattern vorgestellt, die bei der Darstellung der Daten sowie bei der Interaktion mit dem Anwender helfen. Hieru zählen Pattern der Command-Control-Schicht, das Front-Controller-, Intercepting-Filter-, Template-View sowie das View-Helper-Pattern. Wie bereits in dem vorangegangen Kapitel mit dem Registry-Pattern, wird auch hier mit dem Event-Dispatcher-Pattern ein Pattern vorgestellt, welches aufgrund seines schichtenübergreifenden Charakters aus dem Rahmen fällt. Dieses ermöglicht den Austausch von Nachrichten zwischen den verschiedenen Schichten und ist daher in diesem Kapitel sehr gut aufgehoben.

Zusammenfassend ist festzuhalten, dass der Autor weiß, wovon er schreibt. Dabei gereichen ihm - und damit dem Leser - seine beruflichen Qualifikationen als Teamleiter bei der 1&1 Internet AG (Webentwicklung mit PHP & JAVA), das jahrelange Engagement im PHP-Umfeld mit der Betreuung von über 15 PEAR-Paketen und die Entwicklung diverser PHP-Applikationen (patTemplate, patForms, pat*) unter www.php-tools.de sicherlich zum Vorteil. 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!

 
Kommentare
Lazar schreibt:

I will be putting this dazzling isnihgt to good use in no time.

 

zurück

Folge DynamicWebPages!

PHP News als RSS abonnieren ...
Auf Twitter folgen ...
Fan werden auf Facebook ...

 
 

PHP Newsletter

Bleiben Sie immer "Up-To-Date" mit unseren Newslettern!

PHP Newsletter
PHP Trainingsletter

 
 
 
 
 
 

PHP Releases

 
 

Sponsoren

 
 
 
   
powered by Hetzner


top Alle Rechte vorbehalten. © Dynamic Web Pages 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 top

  Seitenaufbau in 0.065 Sekunden