MVC-Fragen

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

  • MVC-Fragen

    Guten Tag zusammen.

    Folgende Sachlage:
    Ich habe letztes Jahr schon ein kleinen CMS und andere Projekte realisiert. Alles eigentlich weil Spaß macht und nicht aus kommerziellem Hintergrund. Allerdings ist mir die Übersicht den ganzen etwas abhanden gegangen.

    Daraufhin habe ich mich etwas in das Thema MVC eingearbeitet, allerdings bin ich auch einige Probleme gestoßen. Und zwar habe ich irgendwo gelesen, dass pro Url (z.B. http://domain.de/news/viewall) immer nur 1 Controller, in dem Fall eben News, geladen wird.
    Nun komme ich auf meine Webseite, allerdings will ich nicht nur News sondern auch z.B. ein Loginformular oder Statistiken über Seitenzugriffe etc. sehen. Wie löst man die Problematik im MVC-Modell

    Des Weiteren habe ich gelesen, dass z.B. für die Umsetzung eines Logins jeweils eine Model-, eine Controller- und eine Viewklasse vorgesehen sind.
    Ist das aber nicht wieder ein Nachteil in Sachen Übersichtlichkeit. Im Prinzip scheitert es noch in der Ordnerstruktur.

    Ich möchte nicht auf schon existierende Frameworks oder Template-Engines zurück greifen, da ich Programmieren zurzeit ohnehin nur Hobbymäßig betreibe und wieder mal ein bisschen mehr Erfahrung sammeln möchte. Gerne lese ich mich noch weiter in das Thema ein. Nur fehlen mir auch derzeit die Quellen. Die bisherigen Tutorials helfen mir nicht mehr weiter.

    Grüße

  • #2
    Bestehende Frameworks können dir aber zeigen, wie man so etwas implementiert.

    Ich frage mich auch, was genau du benutzt hast, um dich in das Thema einzulesen, wenn noch solche Verständnislücken bei dir auftreten?
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Ich habe verschiedene "Tutorials" benutzt

      Das Prinzip ist mir klar. Das ist ja auch genau meine Absicht alles sauber voneinander zu trennen.
      Nur wurde in diesen Tutorials immer nur eine Seite erzeugt. Z.B. einen Blogeintrag verfassen usw.
      Jetzt ist das für eine Webseite ja nicht sonderlich Produktiv wenn man nur einen Controller laden soll der eben genau dies mit dem Blogeintrag macht.
      Rechts hätte ich z.B. gerne ein Loginformular und ggf. noch eine dynamische Navigation.

      Vielleicht verwirrt mich auch nur die Ausgabe: "Ein Controller pro Seite".

      Wäre super wenn du für mich vielleicht noch ein weiteres Nachschlagewerk hast, wo meine Fragen geklärt werden könnten.
      Die Idee mich in ein bestehendes MVC zu arbeiten ist auch nicht schlecht. Zend finde ich aber schon zu überladen. Gibt es da was simpleres was mir das Ganze auch verdeutlicht?

      Grüße

      Kommentar


      • #4
        Die Zend ist kein "MVC"-Framework in dem Sinne. Die MVC-Implementierung ist eine Komponente (bzw. ein paar Komponenten), die du benutzen kannst –*oder auch nicht. Die Komponenten, die dafür wichtig sind, sind sehr überschaubar. Das Quickstart-Tutorial zeigt dir, wie man die Komponenten verwendet (und welche überhaupt interessant sind, für dich). Das würde ich mir mal anschauen.

        Die Aussage "Eine Seite = Ein Controller" ist so übrigens nicht haltbar. Eine Seite kann dynamisch geladenen Content enthalten, der jeweils einen eigenen Controller hat. Die meisten Implementierungen arbeiten mit einem "Frontend-Controller" der noch vor dem View-Controller sitzt (hier heißt dass mal Frontend-Controller, dort ApplicationController und hier und da dann auch mal ganz anders). Richtig ist aber: Ein View wird nur von einem Controller "ausgegeben" (das stimmt so auch nicht, eine View wird eigentlich von einem Controller nur bearbeitet, ausgegeben wird sie im Grunde wieder woanders, aber hier auch nicht so wichtig). Du kannst aber durchaus mehrere Views benutzen um daraus "eine" zusammenzubauen. Im ZF passiert das zum Beispiel in der "Layout"-Komponente. Dein Schnipsel mit der "Login-Box" könnte eine eigene View sein, die du einfach an den Stellen ausgibst, wo du sie haben willst. Das Formular an sich wird aber natürlich an einen eigenen Controller geschickt.

        Wie gesagt, ich würde mir mal anschauen, wie das ZF es löst. Du musst es ja nicht benutzen.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Gut das Hilft mir ja schonmal weiter.
          Dachte mir schon fast, dass das mit einem Controller nicht haltbar ist. Sonst müsste man ja wieder "tricksen".
          Dann schau im mir dsa Ganze mal an und hoffe mir hilft das weiter.

          Vielen Dank schonmal für die Tipps.

          Kommentar


          • #6
            Zitat von Exotelis Beitrag anzeigen
            Gut das Hilft mir ja schonmal weiter.
            Dachte mir schon fast, dass das mit einem Controller nicht haltbar ist. Sonst müsste man ja wieder "tricksen".
            Dann schau im mir dsa Ganze mal an und hoffe mir hilft das weiter.

            Vielen Dank schonmal für die Tipps.
            Naja man kann das schon über einen einzigen Controller machen, aber da geht man eigentlich am MVC vorbei und man bekommt den Nachteil das man wenn Anwendungen wachsen der Controller unheimlich groß und unübersichtlich wird. Und damit verbaust du dir eigentlich den Vorteil vom MVC. Das habe ich auch erst vorige Woche gelernt. Du kannst einen FrontController haben und der kann dann viele verschiedene SubController haben die dann da ihre Arbeit verrichten. Aber das hat glaube ich, wenn ich es richtig gelesen habe unset ja schon geschrieben.

            Gruß Litter
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar


            • #7
              Zitat von litterauspirna Beitrag anzeigen
              Naja man kann das schon über einen einzigen Controller machen, aber da geht man eigentlich am MVC vorbei und man bekommt den Nachteil das man wenn Anwendungen wachsen der Controller unheimlich groß und unübersichtlich wird. Und damit verbaust du dir eigentlich den Vorteil vom MVC. Das habe ich auch erst vorige Woche gelernt. Du kannst einen FrontController haben und der kann dann viele verschiedene SubController haben die dann da ihre Arbeit verrichten. Aber das hat glaube ich, wenn ich es richtig gelesen habe unset ja schon geschrieben.

              Gruß Litter
              Ja das meinte ich mit tricksen. Ist ja nicht der Sinn der Sache einen Controller bis oben hin voll zu packen.

              Kommentar

              Lädt...
              X