Framework vs. Bibliothek

Das Zend Framework soll nun also im Oktober 2006 in der Version 1.0 erscheinen.

Ich finde den Namen Framework jedoch ziemlich irreführend, da es sich eigentlich nur um eine Sammlung von Klassen handelt, die teilweise miteinander verzahnt sind.

Wer sich wirklich für ein PHP Framework interessiert, sollte sich mal CakePHP anschauen. Es ist auch kein Problem, einzelne Klassen aus dem Zend-Framework innerhalb von CakePHP zu verwenden.

CakePHP setzt das MVC-Paradigma um und gibt dem Entwickler gleich noch eine Struktur für sein Projekt an die Hand. Das diszipliniert und führt zu wirklich strukturiertem Code, den man auch noch Wochen und Monate später ruhigen Gewissens überarbeiten kann.

8 Gedanken zu „Framework vs. Bibliothek

  1. Sag mal, was ist denn mit dem Blogcounter los, da bekomme ich seit zwei Tagen folgendes:
    „Notice: Undefined index: year in /var/www/htdocs/counter.blogscout.de/content.php on line 1009“ u.ä…
    E-Mail geht auch nicht, daher hier in den Kommentar.

  2. Hi there. ZF seems to be still too unstable to use. But i’ve moved one project to it – http://www.wowsms.ru and it works fine about a half of year. CakePHP is more scalable and close to RoR concepts. And it already uses its native ORM (‚Active Record‘ pattern) instead of fighting with ZF and third-party ORM implementation

  3. Framework passt IMHO trotzdem ganz gut, tut es doch all das, was du von CakePHP erzählst. Nur eben: optional. Klassen heißen immer nach dem Muster Foo_Bar und diese liegt dann in Foo/Bar.php.
    Das was Zend macht, und weswegen ich es recht sexy finde ist, dass sie einfach sagen »Wir haben hier ein paar Vorschläge wie man Problem XY lösen könnte« und dann kann man sich überlegen ob man den Vorschlag gut findet. Beispielsweise habe ich vor einiger Zeit mal ein bisschen intensiver mit Rails rumgespielt, weil ich mich inzwischen gar fürchterlich in Ruby verguckt habe aber das Hauptproblem ist einfach, dass dieses Framework Handlungsweisen enforcen will. Dabei mag ich ich dieses ActiveRecord-Gezumpel gar nicht.

  4. Und, nicht zu vergessen. Das Zend Framework funktioniert ganz bewusst nur mit PHP 5, was ich sehr vorteilhaft finde, vor allem weil man es dem Framework anmerkt, dass es sehr stark auf Zugriffsschutz von Objekten baut, etc.

  5. Lars, die PHP 4-Kompatibilität von Cake stört mich auch, in den Milestones gibt es aber ein paar Hinweise auf Besserung!

    Ansonsten finde ich genau die starre Verwendbarkeit von CakePHP sehr angenehm, da es für identische Programmstrukturen auch über Projektgrenzen hinweg sorgt. Und dadurch letztendlich auch zu einer besseren Wiederverwendbarkeit.

    Das Zend Framework gibt einem nur ein paar Werkzeuge an die Hand, mit CakePHP hält man auch gleich noch den Plan zum Bau des Hauses in den Händen.

  6. Wenn ein Framework wirklich gut ist, dann ist es auch vollkommen ok, wenn es bestimmte Verhaltens- oder Programmierweise erzwingt. Letztendlich muss man in wirklich großen Projekten diese Strukturen eh vorgeben um nicht im absoluten Chaos zu versinken. Und wenn das Framework diese Dinge vorgibt und demnach alle mit Framework-Know-How von den gleichen Voraussetzungen ausgehen, dann ist das für ein Projekt nur gut. Wenn allerdings jeder Entwickler sich eine andere Art überlegt, wie man die Restriktionen des Frameworks doch wieder umgehen kann, dann hat man leider verloren (selbst erlebt… ;-) ).

  7. Hi,

    ich bräuchte einen Tipp für das Zend Framework und hoffe jemand kann mir evtl. helfen.

    Ich komme recht gut damit zurecht möchte jetzt aber mit „Modulen“ Arbeiten. Von einem Controller (index.php) aus soll je nach URL-Pfad die passenden Module geladen und auf der Website angezeigt werden (also z.B. /news zeigt newsliste im hauptbereich und login, newsliste in einer eigenen Box)

    Ist es möglich jedes Modul im MVC-Stil nachzuladen? Oder wie setze ich da an. Bin momentan etwas verwirrt. Das immer mit einem controller und mehreren views aufzubauen ist einfach aber die modulebasierte variante ist mir momentan noch nicht ganz klar.

    Danke schonmal für die Hilfe.

    Gruß
    Christian

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert