Ankündigung

Einklappen
Keine Ankündigung bisher.

MVC Klasse und Prinzip

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Oder ist es dann so geregelt, dass man Controller je "Kategorie" hat.
    Beispiel:
    Ich habe nen MemberController
    Dieser regelt ua MemberlisteView, MemberProfileView usw.
    NewsController
    Dieser regelt news via xml, pdf usw.
    Du widersprichst Dir doch !
    Zuerst schreibst Du EINE view je Controller
    und jetzt sind es doch mehrere.

    Oder ich raff einfach das gesamte MVC iVm php noch nicht
    Du denkst noch zu wenig in OOP und zu sehr prozedural
    oder auch:
    Du denkst zu sehr: das ist jetzt eine Memberseite.

    Du lieferst aber keine Memberseite aus
    sondern eine HTML-Seite die aus mehreren
    Elementen besteht (Footer, Header, Werbebanner,
    Contentbereich, "who is online"-Box, Kalender ...)


    Zum groben Ablauf(MVC):
    - es gibt einen Frontcontroller/Dispatcher/Router
    der die Requests entgegennimmt und an den oder die
    eigentlichen (Sub-)Controller weiterleitet.
    Es können also mehrere (Sub-)Controller je Request
    beteiligt sein.

    Diese Subcontroller verarbeiten die Daten
    interagieren mit dem Model (i.d.R. der Datenbank),
    entscheiden welche View benötigt wird und
    stellen die Ausgabedaten der View zur Verfügung.


    Zum groben Ablauf(HMVC):
    - es gibt einen Frontcontroller/Dispatcher/Router
    der die Requests entgegennimmt und an den oder die
    eigentlichen (Sub-)Controller weiterleitet.
    Hier werden die benötigten Subcontroller anhand
    eines Seitenobjekts ermittelt.
    Das Seitenobjekt entspricht einem groben Template
    in dem die Infos gepeichert sind welche Elemente
    (Module) auf der Seite angezeigt werden.

    Diese Subcontroller verarbeiten die Daten
    interagieren mit dem Model (i.d.R. der Datenbank) und
    stellen die Ausgabedaten der (Sub-)View zur Verfügung.

    Nachdem alle Subcontroller angearbeitet sind
    ruft der Frontcontroller die View auf
    welche mit hilfe der Infos aus dem Seitenobjekt
    die (Sub-)Views zu einer Ausgabeseite zusammensetzt
    und ausgibt.


    Zum groben Ablauf(APF):
    Beim APF-Framework enthält das Seitenobjekt
    eine baumartige Struktur so daß einzelne Elemente
    ineinander verschachtelt sein können.
    Jedes Element der Seite entspricht einer
    MVC-Einheit.
    Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

    Kommentar


    • #17
      Ich würd ein HMVC Schema dem MVC vorziehen. Entuell das auch bei deinen Controller bedenken.

      Mfg Splasch

      Kommentar


      • #18
        Hallo und vielen Dank für eure Geduld!

        Ja ich hatte mich anfangs wohl missverständlich ausgedrückt.
        Ein Controller regelt bei mir momentan nicht eine View, sondern eine Viewklasse. Beispielsweise ist die MemberView dann zuständig für Sachen wie showMemberList(), showOnlineMember() usw.

        Danke @ Koala für deine ausführliche Erklärung, ich werde mich mal etwas näher mit HMVC beschäftigen um abwägen zu können was besser passt!

        Vielen Dank,
        Lg
        Alex

        Kommentar


        • #19
          Omg: 3:38.. Schläfst Du nicht?!

          Und dann für jeden Bestandteil eine Funktion, die den html-Code erzeugt? Das haben wir bei meinem früheren Arbeitsgeber auch so gemacht, aber es ist eigentlich unnötig, weil Du das auch über eine einzige View-Klasse mit verschiedenen Templates machen kannst. Außerdem müsstest Du bei Deinem Ansatz bei jeder Erweiterung die jeweilige View-Klasse erweitern. Das ist nicht sehr schön.

          Schau Dir da mal Zend_View an. Das ist in der Funktionsweise recht einfach zu verstehen.

          Kommentar


          • #20
            Zitat von xm22 Beitrag anzeigen
            Omg: 3:38.. Schläfst Du nicht?!
            Anhand dieses Threads zwischen 13:00 und 23:00
            Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

            Kommentar

            Lädt...
            X