PHP Design Patterns!

Gerade in der PHP-Welt gibt es einen großen Unterschied in der Qualität der Software. Das reicht von “funktioniert irgendwie” bis hin zu sehr strukturierter Software. Man kann von Magento halten, was man möchte. Aber mindestens der PHP-Teil ist z.B. sehr sortiert und aufgeräumt. Das war einer der Gründe, warum ich mich in Magento 1 verliebt habe. Hier eine Buchempfehlung, die jedem PHP-Entwickler bessere Ergebnisse ermöglicht. Klare Leseempfehlung für ein Buch über PHP: PHP Design Patterns !

Aufgeräumter Code mit Design Patterns

Tatsächlich braucht ein PHP-Entwickler sicher nicht mal einen Tag, um die Syntax für Objekte in PHP zu verstehen. Das ist nicht schwer. Es ist ganz ähnlich wie beim Malen. Es gibt Pinsel, Farben, die Leinwand. Bei Objekten ist es ähnlich:

  • Es gibt Klassen
  • Methoden
  • Interfaces
  • noch ein paar Spezialitäten

Das war es auch schon. Versteht man die handwerkliche Seite, entsteht aber noch lange keine Kunst. Das ist beim Programmieren ebenso. Klassen und Objekte sind eigentlich nur wie Pinsel und Farben. Damit sauber umzugehen, erfordert kreative Lösungen und strukturiertes Vorgehen. Das Buch über Design Patterns hilft, sich der künstlerischen Seite der Programmierung zu nähern.

Entwurfsmuster mit PHP nutzen

Das Buch definiert die Aussage “Code is Poetry” noch einmal neu. Design Patterns waren mir nicht fremd, hatte ich mir doch vor einiger Zeit bereits einmal den Klassiker Design Patterns. Elements of Reusable Object-Oriented Software. zugelegt. Leider habe ich vor allem aus zeitlichen Gründen das Thema nie wirklich vertieft. Dies hat sich allerdings geändert, da ich nun endlich auch beruflich mich wieder intensiver mit der Programmierung beschäftigen kann.

Das Buch versetzt den gewillten Leser durch die enorme Praxisorientierung in die Lage wirklich “schönen” Code zu verfassen, welcher sauber strukturiert ist und nachhaltig leicht zu pflegen ist.

Kapitel 1
Los geht es mit einer kurz gehaltenen Einführung in die wichtigsten Punkte der Objektorientierung und vor allem der neuen Möglichkeiten welche PHP 5.3 in diesem Bereich bietet.

Kapitel 2
Im Anschluss wird ein Überblick über die Standard PHP Library, die SPL, geboten und wirklich nützliche Klassen vorgestellt, welche PHP 5 dann bereits von Haus aus mitbringt. Hier sind wertvolle Tips zu z.B Interfaces wie “Iterator” oder “ArrayAccess” enthalten. Sie machen das leben einfacher und den Code (je nach Anwendungsfall) wirklich übersichtlicher.

Kapitel 3
Im dritten Kapitel geht es dann noch einmal um gutes Software Design selbst und Mittel welche Entwickler mit PHP hier haben. Langsam aber sicher leitet das Kapitel 3 dann zum eigentlichen Schwerpunkt des Buches über, den Design Patterns.

Kapitel 4 – 8
Die letzten Kapitel konzentrieren sich tatsächlich voll auf Design Patterns für die verschiedensten Zwecke. Sie sind logisch unterteilt und nach Art der Muster in Kapitel unterteilt: “Erzeugungsmuster”, “Strukturmuster”, “Verhaltensmuster” sowie “Enterprise-Patterns” für die verschiedenen (möglichen) Schichten einer Applikation “Datenschicht”, “Business-Logik” und “Präsentationsschicht”. Alles wird hierbei übersichtlich mit praktischen Beispielen erklärt und dabei nicht nur schlicht und einfach Beispiele “heruntergebetet”, sondern jeweils verschiedene Aspekte erläutert: Der Name, die Motivation (beschreibt ein Problem welches mit dem Pattern gelöst werden kann), der Zweck (eine abstrahierte Betrachtung der Problemstellung), die Implementierung selbst (mittels PHP versteht sich), eine Definition der Implementierung (losgelöst von PHP), Konsequenzen die sich aus der Anwendung ergeben (positive & negative Effekte) sowie weitere Anwendungen / Abwandlungen.

Das Buch wird durch einen aus meiner Sicht konsequent durchgehaltenen guten Schreibstil abgerundet, ist optisch unheimlich ansprechend (sowohl der Einband als auch der Druck) und wirkt an keiner Stelle künstlich in die Länge gezogen. Somit, klare Leseempfehlung! Gerade wer von WordPress oder PHP-Entwicklung kommt, findet hier professionelle Ansätze.