dedlfix: Zend 2

Beitrag lesen

Tach!

Wo fange ich am besten so an?
Ich denke, du solltest nicht mit Zend anfangen, sondern erstmal mit dem objektorientierten Programmieren an sich.

Das finde ich auch. Es kommen da gleich zwei Dinge auf dich (heinetz) zu. Die ungewöhnte Objektorientierung ist das eine. Das andere ist die Umstellung der Herangehensweise an sich. Beim prozeduralen Programmieren hat man üblicherweise die Kontrolle über den Programmfluss und delegiert Aufgaben an Funktionen. In den objektorientierten Frameworks steuert das Framework den Ablauf und man selbst konfiguriert mehr oder wenig Dinge (zum Beispiel den Router) und definiert, was zu tun ist, wenn der Fluss an bestimmten Punkten vorbeikommt (unter anderem Controller-Actions, Views, Plugins). Dieser Kontrollverlust muss aber sein, damit man sich auf die wesentlichen Dinge konzentrieren kann.

Ich würde außerdem behaupten, dass Zend 2 nicht unbedingt ein Framework für Framework-Anfänger ist, selbst wenn sie schon objektorientiert programmiert haben.

Es ist schon wieder eine Weile her, seit ich einen Blick in Version 2 des Zend Frameworks geworfen habe. Mich hat bei diesem abgeschreckt, dass man recht viel konfigurieren muss und das in sehr verschachtelten Arrays, bei denen man nur Strings als Keys verwendet. Bei denen muss man selbst drauf achten, dass die Schreibweise stimmt, da hilft eine IDE mit Autovervollständigung wenig. Deswegen mag ich es nicht, wenn man Strings verwenden muss, um etwas zu steuern. Die hohe Komplexität der Arrays führt dazu, dass es sehr aufwendig ist, die Struktur zu erlernen und man wohl eher ständig im Handbuch nachschlagen muss.

Ein Vorteil wäre seine Bekanntheit und dass sich dann recht viele Leute drum kümmern und Erweiterungen beitragen. Es gibt aber auch genügend Alternativen zum Zend Framework. Das Yii-Framework machte auf mich einen recht ordentlichen Eindruck, aber auch da gab leider recht viele Key-Strings. Und die Datenkomponente war mir zu schwergewichtig. Sie arbeitet nach dem Muster Active Record, weswegen da jedes Datenobjekt viele Methoden zum Datenhandling mit sich führt. Die Kühe haben sozusagen ihre Fütterungs- und Melkmaschinen mit sich rumgetragen. Ich finde leichtgewichtige Datenobjekte besser, die lediglich ihre eigenen Methoden implementieren. Eine Kuh muss nur verdauen können und gelegentlich "Muh!" sagen. Das Melken und den Stall zu säubern ist des Bauers Aufgabe.

Vor kurzem lief mir Aura for PHP über den Weg. Gearbeitet hab ich damit noch nicht, aber das Handbuch zeigt ein recht aufgeräumtes System. Nunja, die Strings zum Konfigurieren sind auch da recht beliebt. Dafür kommt die Datenbank-Komponente recht einfach daher. Sie scheint mir lediglich ein SQL-Wrapper zu sein. Auch sieht mir der Rest des Systems so aus, als ob er sich vorwiegend auf seine Aufgabe als grundlegendes Framework konzentriert. Beim Yii gab es einige Kompoponenten, um recht schnell Daten in tabellarischer oder Einzelansichtsform ausgeben zu können. Solche sind bei Aura nicht (im Manual) zu finden. Ob ich sie vermissen würde, weiß ich noch nicht, ich hab noch kein Projekt mit Aura aufgesetzt, aber bei Gelegenheit werde ich das probieren.

dedlfix.