1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
767
767
EMPFEHLEN
-
19.03.07 20:02 #1
Hallo liebe Community

Ich lese mich zur Zeit in die verschiedenen Designpattern ein. Besonders interessiert/reizt mich das Model-View-Controll Prinzip. Nur hab ich jetzt eine Frage zur Umsetzung in PHP: Seh ich das richtig, dass der Controller im Prinzip eine Index-Seite hab, die mittels übergebener Parameter (Modul, Action) die Methode Action der Klasse Modul aufruft? Und dass die einzelnen Module aber Zugriff auf die View haben (z.B. Templateklasse, XML-Klasse etc.)? Oder geben die einzelnen Module die Daten an den Controller zurück, der diese dann an die View übergibt?
Danke für eure Zeit
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Das Model hat keinen Zugriff auf die View(s). Genau dafuer ist doch der Controller da.
-
19.03.07 21:29 #3MeinerEiner_80 Tutorials.de Gastzugang
Moin!
Auf der O'Reilly Seite gibt es einen netten Artikel zum Thema MVC und PHP:
http://www.onlamp.com/pub/a/php/2005...mvc_intro.html
*grüssle*
MeinerEiner
-
20.03.07 01:06 #4
Danke schonmal für die Antworten.
Den Artikel, bzw. die Artikelreihe kenn ich, darauf basiert eigentlich mein Wissen
So. Ich hab mir jetzt nochmal den Code von dem Framework aus dem genannten Artikel angeschaut. Dort gibt es eine Klasse FR_Presenter_smarty, der View sozusagen. Eine Stelle möchte ich hier daraus mal posten:
$this->module ist, wie der Name schon erschließen lässt, eine Instanz des jeweiligen Moduls. Also greift doch hier meiner Meinung nach der View ohne Umweg über den Controller auf das Modul zu?! Ah, bin verwirrtPHP-Code:foreach ($this->module->getData() as $var => $val)
{
if (!in_array($var,array('path','tplFile')))
{
$this->template->assign($var,$val);
}
}
Wäre es denn besser (mehr im Sinne des MVC-Patterns), die jeweiligen Daten eines Moduls dem Controller z.B. über eine (wie hier) getData()-Methode bereitzustellen (z.B. als Array) und dann an das View zu geben?
Geändert von mAu (20.03.07 um 02:02 Uhr)
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
21.03.07 01:56 #5
Ich pushe mal, da mich die Frage ein bisschen drängt

Frage: In dem Beispiel von OnLamp.com wird vom View direkt auf das Model zugegriffen (siehe Beispiel oben). Ist es besser, wenn das Model an den Controller die Daten gibt, welcher die Daten dann an das View gibt? Also vereinfacht gesagt so:
Ich sehe da irgendwie kein großen Vorteil. Naja, warscheinlich bin ich auch noch nicht so ganz in die Materie eingestiegenPHP-Code:// controller.php
$data = $modul->getData();
$view->setData($data);
Und kennt vielleicht jemand ein Framework, was noch nicht so weit entwickelt ist wie z.B. CakePHP, Solar etc. Eins, wo man eben noch den Code relativ gut überblicken kann
Geändert von mAu (21.03.07 um 23:20 Uhr)
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
21.03.07 10:56 #6MeinerEiner_80 Tutorials.de Gastzugang
Moin!
Unabhängig mal von PHP..
Bin der Meinung, für jede Datenstruktur die man besitzt, sollte auch eine Schnittstelle existieren, wobei nur über diese Schnittstelle man Zugriff auf die Datenstruktur erhält.
Warum? Nun, nehmen wir an, die View würde an verschiedenen Stellen direkt auf das Model zugreifen, und du würdest das Model ändern. Dann müsstest du u.U. auch alle Zugriffe der View nun ändern. Andererseits, würde nur die Datenschnittstelle im Controller auf das Model zugreifen, müsstest du nur dieses ändern..
Das sind zumindest mal meine Gedanken zum Mittwoch..
*grüssle*
MeinerEiner
-
Der Autor des Artikels, Joe Stump, hat sein Framework etwas weiterentwickelt.
Du kannst es hier auf seiner Homepage finden.be inspired...simplify...
Ähnliche Themen
-
Model-View in c#?
Von RudolfG im Forum .NET CaféAntworten: 3Letzter Beitrag: 07.08.10, 17:23 -
MVC (Modell View Controller) in GTK?
Von MS47475 im Forum C/C++Antworten: 2Letzter Beitrag: 15.11.08, 07:42 -
Model View Controll
Von der Prof im Forum JavaAntworten: 0Letzter Beitrag: 02.11.07, 11:41 -
Was ist der Unterschied zwischen Data und Model im Model View Controller Pattern?
Von flaang im Forum JavaAntworten: 2Letzter Beitrag: 15.08.07, 11:26 -
controller pro view oder composite
Von schuetzejanett im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 24.05.07, 12:12





Zitieren
Login





