Tach!
Meine persönliche Meinung ist, dass das Zend Framework (jedes andere Framework ähnlichen Umfangs ebenso) nicht wirklich geeignet ist, den Einstieg in die OOP zu finden. Man kann sehen, wie etwas ausgebaut ist, und dass viele Pattern Verwendung fanden. Aber dabei fehlt der pädagogische Ansatz, der das Lernen begleitet und das Wissen schrittweise aufbaut, bis man ein Level erreicht hat, ab dem man selbständig die Welt erkunden kann und zu verstehen in der Lage ist, warum ein bestimmtes Pattern an einer bestimmten Stelle eingesetzt wurde. Ein Anfänger ist sicher nicht einmal in der Lage, die verwendeten Pattern zu erkennen.
"Zend Framework 2 is an open source framework for developing web applications and services using PHP 5.3+. Zend Framework 2 uses 100% object-oriented code and utilises most of the new features of PHP 5.3, namely namespaces, late static binding, lambda functions and closures."
Wenn man sich aber das Get-Started-Tutorial durcharbeitet, bekommt man eher den Eindruck, es handle sich um eine array-orientierte Programmierung. Was da an Unmassen von ineinander verschachtelten Arrays anzulegen ist, nur um eine einfache Anwendung zu konfigurieren, geht auf keine Kuhhaut mehr drauf. Ich kann das Zend Framework nicht mehr guten Gewissens weiterempfehlen.
Das Problem an der Array-Konfiguration ist, dass die Keys alles Strings sind. "Stringly-typed" nennt man das auch. Bei Strings können einem die IDEs nicht wirklich sinnvoll mit Autovervollständigung helfen. Wenn das alles Klassen wären, wäre der Bauplan bekannt und die IDEs können einem direkt beim Tippen unter die Arme greifen. Aber mit Strings muss man sich immer merken oder nachschauen, welche es gibt und sie dann auch noch fehlerfrei abtippen (oder kopieren). Stringly-typed ist Mist!
Es gibt ja einige Alternativen, die sich in puncto OOP nicht zu verstecken brauchen. Das Yii-Framework ist sicher nicht zu Unrecht auf dem ersten Platz. Es machte auf mich auf den ersten Blick keine so schlechte Figur wie das ZF. Bereits beim Lesen des Tutorials hatte ich ein angenehmeres Bauchgefühl, auch wenn ich noch nicht die Gelegenheit hatte, ein Projekt damit aufzusetzen.
dedlfix.