Ankündigung

Einklappen
Keine Ankündigung bisher.

Design von MVC Pattern

Einklappen

Neue Werbung 2019

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

  • Design von MVC Pattern

    Hallo ihr,

    ich ein noch relativ unerfahrener Programmierer und habe mich mal, nachdem ich viele Artikel und Threads aus diesem Forum durchgegangen bin, mich mal an einem Projekt auf Basis eines MVC Patterns versucht und möchte euch hier mal den Aufbau beschreiben. Ich würde mich riesig freuen, wenn man mir sagen könnte, was ich besser machen kann und was überhaupt nicht geht.

    Also:
    Als erstes Lädt die index.php den einen Controller, welcher neben einem Array aus der config.php, welches bestimmte Daten zur Seite enthält, als Parameter erhält auch einen zweiten Parameter bekommt, der entscheidet, ob der Header mit angezeigt werden soll oder nicht(ist für RSS ganz vorteilhaft).
    Der Controller lädt den Header, wenn der Parameter TRUE ist. Dann holt es sich in einer weiteren Methode den GET Parameter aus der URL, welcher das Modul bestimmt. Sollte er nicht enthalten sein, bekommt er einen bestimmten Inhalt, sollte er enthalten sein, aber nicht existieren, wird eine 404 Seite angezeigt. Anhand diese Parameters wird ein weiterer Controller geladen, der unter anderem aus einer Code Bibliothek die Klassen bekommt, die braucht und alle Aktionen abhandelt.

    LG Ma27
    https://github.com/Ma27
    Javascript Logic is funny:
    [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

  • #2
    Zitat von Ma27 Beitrag anzeigen
    Dann holt es sich in einer weiteren Methode den GET Parameter aus der URL, welcher das Modul bestimmt. Sollte er nicht enthalten sein, bekommt er einen bestimmten Inhalt, sollte er enthalten sein, aber nicht existieren, wird eine 404 Seite angezeigt. Anhand diese Parameters wird ein weiterer Controller geladen, der unter anderem aus einer Code Bibliothek die Klassen bekommt, die braucht und alle Aktionen abhandelt.
    Das hört sich für mich eher nach ner Aufgabe für den Router an.
    Dieser erste Controller wird übrigens meist FrontController genannt, nimmt alles den Request betreffende entgegen, instanziiert die benötigten Module/Objekt samt Router, führt Konfigurationen durch. Der dahinter liegende spezialisierte Controller führt entsprechend spezialisierte Aufgaben durch.

    Aber was du da beschrieben hast ist keine MVC_Architektur, lediglich die Funktionsweise des Controllers(?) Was ist mit Model und View?

    Kommentar


    • #3
      Das hat rein garnichts mit dem MVC Pattern zutun. Das was du beschrieben hast ist weder ein Model, ein Controller noch ein View! Schau dir lieber nochmal entsprechende Literatur dazu an und probier dich mit einem bestehendem MVC Framework. Dann sollte dir eher klar werden wofür die einzelnen Elemente stehen.

      Kommentar


      • #4
        Das was du beschreibst ist ein FrontController, mehr oder minder das Root-Objekt der Anwendung ( aus hierarchischer Sicht ). MVC heißt eigentlich nichts weiter als das ein Controller zwischen Model und View vermittelt, am besten so dass Views nicht von bestimmten Rückgaben eines spezifischen Models abhängig sind. ( nicht-standardisierte Arrays also nicht simpel vom Model ins View geklatscht werden ).

        Damit du einen kleinen Überblick hast wo dein FrontController in der Nahrungskette steht:
        Dein FrontController würde einen Router aufrufen, der den Request auswertet, der Router würde alle Controller zurückgeben die für den Request zuständig sind. Ein Dispatcher würde vom FrontController aufgerufen werden, der die Controller(-Actions) ausführt und das Response-Objekt befüllt und verwaltet.
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar

        Lädt...
        X