tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von daddz
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
767
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Mar 2002
    Ort
    Stuttgart (Baden-Württemberg)
    Beiträge
    984
    Blog-Einträge
    7
    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!


  2. #2
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    Das Model hat keinen Zugriff auf die View(s). Genau dafuer ist doch der Controller da.
     

  3. #3
    MeinerEiner_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
     

  4. #4
    Registriert seit
    Mar 2002
    Ort
    Stuttgart (Baden-Württemberg)
    Beiträge
    984
    Blog-Einträge
    7
    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:
    PHP-Code:
    foreach ($this->module->getData() as $var => $val)
    {
        if (!
    in_array($var,array('path','tplFile')))
        {
            
    $this->template->assign($var,$val);
        }

    $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 verwirrt 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!


  5. #5
    Registriert seit
    Mar 2002
    Ort
    Stuttgart (Baden-Württemberg)
    Beiträge
    984
    Blog-Einträge
    7
    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:
    PHP-Code:
    // controller.php
    $data $modul->getData();
    $view->setData($data); 
    Ich sehe da irgendwie kein großen Vorteil. Naja, warscheinlich bin ich auch noch nicht so ganz in die Materie eingestiegen 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!


  6. #6
    MeinerEiner_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
     

  7. #7
    Registriert seit
    Sep 2003
    Ort
    Fürth(Franken)
    Beiträge
    1.060
    Blog-Einträge
    3
    Der Autor des Artikels, Joe Stump, hat sein Framework etwas weiterentwickelt.

    Du kannst es hier auf seiner Homepage finden.
    mAu bedankt sich. 
    be inspired...simplify...

Ähnliche Themen

  1. Model-View in c#?
    Von RudolfG im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 07.08.10, 17:23
  2. MVC (Modell View Controller) in GTK?
    Von MS47475 im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 15.11.08, 07:42
  3. Model View Controll
    Von der Prof im Forum Java
    Antworten: 0
    Letzter Beitrag: 02.11.07, 11:41
  4. Antworten: 2
    Letzter Beitrag: 15.08.07, 11:26
  5. controller pro view oder composite
    Von schuetzejanett im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 24.05.07, 12:12