Kategorien
PHP

PHP Design Patterns

Das Verständnis und die Anwendung von Design Patterns gehören in der fortgeschrittenen Programmierung zum guten Ton. Der Sinn für die Verwendung von Design Patterns ist die Software erweiterbar zu halten und auch Jahre später noch ohne großen Aufwand an neue Anforderungen anpassen zu können.

Die folgenden Ausführungen sind aus dem Standardwerk zu dem Thema „PHP Design Patterns“ aus dem O’Reilly Verlag entnommen (ab Kapitel 3), was ich nur jedem PHP Programmierer ans Herz legen kann:

Ein paar interessante Beispiele will ich im Folgenden daraus kurz vorstellen:

Fluent Interfaces

Fluent Interfaces dienen dazu, den Code einer Klasse für andere Entwickler leichter verständlich zu halten und damit indirekt auch Kommentare zu sparen.

Ein Beispiel das viele kennen ist ein ORM Mapper, wie Propel oder Doctrin, beim dem Queries wie folgt zusammengebaut werden:

$orm = new Orm();
$orm->select(array("id", "name"))->from("myTable")->where("id=1");

Einen solchen flüssigen Code erreicht man, wenn mit Fluent Interfaces arbeitet und das Object der Klasse immer wieder zurückt gibt am Ende jedes Methodenaufrufes:

class Orm(){
  public function select($table){
     ...
     return $this;
  }
  public function from($table){
    ...
    return $this;
  }
...
}