Andreas Korthaus: DAO / MVC-Design in (PHP-)Webapplikationen - sinnvoll?

Beitrag lesen

Hallo Dieter!

Ich kann nicht behaupten, dass ich allzuviel von Deinem Posting verstehe , aber trotzdem vielen Dank fuer die Links, das sieht ja sehr spannend aus.

Was verstehst Du nicht? Kommst Du nicht aus der "Java-Welt"? MVC(Model-View-Controller) kommt glaube ich ursprünglich von Smalltalk, und ist heute in Java-Applikationen wohl ein sehr verbreitet Applikations-Design, auch als Model 2 bekannt.

Eine IMHO wirklich sehr gelungene Einfpührung vor allem für PHP findest Du in dem Artikel "An introduction to the Model-View-Controller Pattern", in der Gratisausgabe von php|architect (May-2003) http://www.phparch.com/issue.php?mid=9. Das wird in dem anderen Gratis-Artikel den ich verlinkt habe fortgesetzt, und auf der phppattern.com Seite findest Du noch einige Artikel dazu, bezogen dessen Umsetzung in PHP und Diskussionen über den Sinn eines Controllers(das C aus MVC) in PHP Webapplikationen. Aber ich habe nach wirklich tagelangem lesen (wenn man einmal weiß wonach man suchen muss findet man _Unmengen_ an Informationen) für mich immer noch nicht so ganz genau geklärt ob das denn nun wirklich Sinn macht oder nicht. Der Vorteil ist wohl, dass man sich dadurch eine wirklich saubere Architekur aufzwingt, aber für den Preis von weniger Flexibilität und mehr Overhead. Das Problem ist nur, dass man als "Anfänger" dazu neigt die Flexibilität zu mißbrauchen. Daher interessieren mich Eure Meinungen zum Thema.
Es steht außer Frage das man Logik und Präsentation trennen soll, aber MVC geht ja noch weiter, die Frage ist ob das sein muss, oder besser gesagt, wie implementiert Ihr einen Controller, denn irgendwo ist sowas durchaus notwendig, nur ist eben fraglich wie geanu der funktioniert, also ob man sich etwa nur auf den Websertver verlässt, der die Script direkt startet, oder ob man ein komplexes "Action-Mapping" verwendet, was bedeutet dass man vorher jede Aktion die in der Anwendung von außen ausgeführt werden kann in einer Konfigurations-Datei beschreibt, und genau festlegt was genau bei der Aktion passieren soll. Und es ist noch fraglich wie man dann die Akition ausführt, einfach ein Script das dann Klassen läd und eine Methode ausführt, oder ob das ganze aus dem Controller heraus passiert, also komplett objektorientiert.

Also im Augenbblick bin ich eher der Meinung das man so einen komplexen Controller nicht benötigt, aber man lernt sehr viel wenn man sich mit diesem "Design Pattern" beschäftigt, wie mit den vielen anderen unter http://www.phppatterns.com/index.php/article/archive/1/

Das ist die erste vernünftige Quelle im vorherigen Posting, wo es mal darum geht nicht zu erklären wie etwas funktioniert(Referenz), sondern wie man etwas "vernünftig" implementiert. In PHP ist das alles AFAIK recht neu, in anderen Sprachen wie Java gibst darüber Bücher ohne Ende, wobei es hier ja weniger um den Code und dessen Implementierung in einer bestimmten Sprache geht, sondern eigentlich um die abstrakte Lösung eines Programmierproblems. Nur empfinde ich es schon als hilfreich wenn das ganze unter dem Gesichtspunkt der Implementierung in PHP gesehen wird. Denn man sollte nicht Java 1:1 in PHP übersetzen, da hier unterschiedliche Voraussetzungen gelten.

Viele Grüße,
Andreas