Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu CMS/MVC

Einklappen

Neue Werbung 2019

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

  • Frage zu CMS/MVC

    Hallöchen,

    ich wollte mal anfangen mir nen eigenes CMS zu schreiben. Ich hab mich jetzt auch schon mit MVC beschäftigt und vieles hier im Forum gelesen doch es bleiben für mich noch paar Fragen offen, bei deren Beantworung ich um eure Hilfe bitten würde:

    Ich hab schon teilweise Antworten mit Pseudo-Code gesehen ich weis die machen viel Arbeit helfen aber am meisten da man da kaum aneinander vorbeireden kann.(muss natürlich net sein ^^)

    1. Angenommen ich hab ne Gästebuch Klasse die dann schon fein aus der Datenbank gefüllt is an welche stelle sollte ich denn eine Methode "MVC-konform" ansiedeln um das dann anzeigen zu lassen (mit Template).(meine beiden Ideen wäre da das die Klasse das schon mitbingt oder das es woanders ne Methode gibt welche nen Gästebuch übergeben bekommt und dann html return oder so in der Art)

    2.Bisher wurde mir noch nich richtig klar wie ich zB eine Nutzereingabe realisiere, mit Prüfung auf Korrektheit der Daten etc vorallem das es wieder "MVC-konform" ist.

    Schonmal Danke im vorraus für die Antworten.

  • #2
    Hallo VampireSlayer,

    wo genau hakt es denn? Geht es dir um das Komponieren der GUI-Struktur und die Auslagerung von GUI-Modulen? Im APF ist das Komponieren der GUI über HMVC gelöst. Das ermöglicht dir z.B. ein fertig implementiertes Gästebuch einfach per Tag einzubinden. Der Page-Controller kümmert sich dann um das korrekte Platzieren der Inhalte.
    Mit der Entkopplung von Modulen durch eine Meta-Ebene (Komposition von Modulen und Elementen einer Seite) erreichst du IMHO eine besser Trennung zwischen den beiden genannten und kannst dich bei der Implementierung auf das Modul selbst konzentrieren.

    Das Handling von Nutzer-Eingaben findet bei MVC (und natürlich auch HMVC) über den Controller statt. Hierbei ist es üblich, dass ein Router/Front-Controller die Eingaben an einen dafür zuständigen Controller delegiert, der diese dann wiederum nutzt um den Flow der Applikation auszuführen. Bei einem Gästebuch fallen hierunter die Entgegennahme der Paging-Parameter und das Ausführen des Paging sowie das Erzeugen eines neuen Eintrags. Beide Themen kann man auch in unterschiedlichen Controllern ausführen (z.B. durch unterschiedliche Views für Ausgabe und Eingabe). Anregungen dazu findest du hier.

    Im Allgemeinen würde ich versuchen, bei einem CMS schon einen allgemeingültigen Rahmen zu erstellen, in dem Module und Seiten-Elemente einfach eingeklinkt werden können. Exakt das erleichtert einem Entwickler die Arbeit sehr und man muss nicht jedes mal die Komplette Struktur abbilden bzw. alle Bereiche in sein Template klatschen. Eine Navigation kann per HMVC z.B. über ein eigenes Template mit einem Controller abgebildet werden, das ich nur noch in mein Basis-Template inkludieren muss um eine andere Art der Ansicht meiner Webseite zu generieren (z.B. statt 3-Spaltig nur noch 2-Spaltig).
    Viele Grüße,
    Dr.E.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1. Think about software design [B]before[/B] you start to write code!
    2. Discuss and review it together with [B]experts[/B]!
    3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
    4. Write [I][B]clean and reusable[/B][/I] software only!
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Kommentar


    • #3
      Hallo Dr.E.,

      erstmal vielen Dank für die schnell Antwort.

      Ich glaube mein Hauptproblem derzeit is einfach die Informationsflut und die vielen Sachen die man bei nem CMS beachten muss die mich einfach zu erschlagen scheinen.

      Bisher habe ich mal als Start eine Klasse mit Paar News drinne die auch soweit ichs beurteilen kann MVC konform gefüllt wird nun bin ich aber an dem Punkt das es wohl 100 möglichkeiten gibt was man als nächtes programmieren kann sollte und ich denke ich einfach nicht weis was ich erstmal Schritt für Schritt machen soll um mich der Sache zu nähern. Ich denke das Problem CMS als Anfänger komplett zu durchschauen und planen zu können ist eh nicht möglich von daher muss man sich da langsam nähern ich weis nur nicht wie.

      Es würde mir wohl helfen wenn mir jemand sagen kann was man erstmal Schritt für Schritt machen soll nich was Code angeht sondern eher Aufgaben sowas wie:
      1. Datenbankverbindung implementieren
      2. Klasse (glaube irgendwo im Forum mapper genannt) mit Methoden um die News-klasse zu füllen
      3. Klasse (glaube manager) welche evt Logik enthölt

      Soweit wäre ich bisher im groben. Fehlen nur noch Schritte 4 bis ........ ^^

      Gruß
      VampireSlayer

      Kommentar


      • #4
        Ich sehe hier x Themen, die Du gleichzeitig angehen willst, die aber eigentlich nicht zwingend etwas miteinander zu tun haben. Also beschränke Dich bitte auf eins. Wobei eine Frage wie "Wie "mache" ich ein CMS" nicht von sehr viel Architektur-Planung zeugt. Etwas spezifischer wirst DU hier wohl werden müssen.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Hallo nikosch,

          ich kann mich irren aber genau das was du da anspricht, habe ich in meinem Post vorher eigentlich auch ausgedrückt bzw ausdrücken wollen.
          Das ich mich auf etwas beschränken muss und Schritt für Schritt vorgehen muss ist mir auch klar geworen und meine neue Frage war dann entsprechend:

          Welche Schritte mir Leute mit Erfahrung empfehlen können damit ich nicht an der genau falschen Baustelle anfange.

          Kommentar


          • #6
            Sorry, aber es gibt kein Patentrezept, wie man ein CMS mit MVC umsetzt. Du musst eben alle Themen lernen,

            - Implementierung von MVC Komponenten
            - CMS Grundprinzipien
            - Applikationsdesign
            - Softwaredesign

            Ich kann auch nicht fragen, wie ich professionell ein Flugzeug baue, denn auch dort reichen die Antworten von "Du musst Dich mit Aerodynamik beschäftigen" über "Du musst Avionik-Techniken kennen" bis "Das ist eine Frage der Werkzeugkunde...Treibstoffchemie...Steuerungselekt ronik...Schaltkreislogik...

            Von daher weiß ich nicht, wo das hier hinführen soll.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Hallo nochmal,

              Ich fühle mich gerade bissel wie in der Uni wenn man den Prof etwas fragt.

              ich glaube ihr als Wissende denkt einfach in einem zu Großen Rahmen ich will nicht wissen wie ich professionell nen CMS erstelle sondern wie ich am besten anfange wenn ich irgendwann mal nen Teil eines funktionierenden sicherlich nicht professionellen CMS haben will.

              Hierbei nützt mir auch keine "hochtrabende" Theorie und irgendwelche komplizierten Begriffe sondern eher simple und von mir aus auch nicht 100% korrekte dafür verständliche Schritte.

              Um da nochmal auf das Flugzeugbeispiel zu kommen wobei wir vorallem wie in meinem Falle beim CMS die Anfangsphase und nicht das Endergebnis betrachen.
              Stellen wir uns mal vor zwei Leute sollten eins bauen.

              Person 1 bekommt gesagt er müsst ja unbedingt die neuen internationalen Richtlinien im Cockpit einhalten und sich vorallem die Materialeigenschaften von komplexen Legierungen anschauen, ach und auch die Auswirkung von warmen aufsteigenden Luftmassen auf die Strömungsgeschwindigkeiten am ....

              Person 2 bekommt gesagt er soll erstmal ne Reihe aus Sitzen machen, mit nem Gang.

              Wer wird wohl nach zwei Wochen mehr Flugzeug fertig haben.

              Damit wird hoffentlich die Grundidee meiner Frage etwas deutlicher.

              Gruß
              Vamp

              Kommentar


              • #8
                Ja. So baut man aber weder Software noch Flugzeuge (von daher hat Dein Beispiel genau ins Schwarze getroffen). Und so diskutiert man auch keine Themen in Foren. Denn das würde zu einem Endlosthread führen.

                Offensichtlich bist Du sehr unsicher im Hinblick auf MVC. Beschäftige Dich weiter damit und sieh zu, dass Du das Konzept verstehst. Genauso mach es dann mit allen anderen Fragen, die Du hast. Der Plan, ein gut designtes und Standard-konformes Stück Software zu bauen und auf der anderen Seite mal bei einem kleinen Teilchen anzufangen, passt halt konzeptuell nicht zusammen.

                Um die Frage noch zu beantworten:
                Wer wird wohl nach zwei Wochen mehr Flugzeug fertig haben.
                Keiner von beiden. Denn eine Reihe von Sitzen ist eben kein Flugzeug. Genausowenig wie Flügel aus Pappe oder selbstgedrechselte Räder. Entscheidend ist im Endeffkekt, dass das Ding fliegt (und das sicher). Der Weg ist hier nicht das Ziel, sondern das Ziel.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Naja ich kann es nur wiederholen es geht auch nicht darum ein komplettes CMS zu bauen sondern einen Anfang zu finden.
                  Denn eine Reihe von Sitzen ist eben kein Flugzeug.
                  aber ein Anfang...
                  Und irgendwelche vorallem für Anfänger komplizierten Modelle sind zwar auf dauer nicht zu vermeiden erschweren aber den Anfang ungemein, da wie auch bereits gesagt die sinnvolle Planung eines CMS als Anfänger eh nicht möglich ist, somit muss man erstmal irgendwo anfangen in dem wissen das es nicht perfekt ist und man evt einiges neu machen muss.

                  Jedoch bin ich mir sicher es gibt Schritte und herangehensweisen die sinnvoller sind als andere.

                  Aber es scheint einfacher zu sein Fragen tot zu diskutieren als wenigens nen Versuch zu starten darauf zu antworten.

                  Kommentar


                  • #10
                    aber ein Anfang...
                    Nein, das ist einfach ein Trugschluss. Top-down und Bottom-up sind zwei völlig gegenläufige Konzepte. Wobei Bottom-up für die Flugzeugsitze die Übertreibung in der Geschichte der Luftfahrt wäre.
                    Und irgendwelche vorallem für Anfänger komplizierten Modelle sind zwar auf dauer nicht zu vermeiden erschweren aber den Anfang ungemein
                    ..somit muss man erstmal irgendwo anfangen in dem wissen das es nicht perfekt ist und man evt einiges neu machen muss.
                    Nochmal: Klar kannst Du einfach drauf los scripten. Niemand zwingt Dich, MVC zu benutzen. Nachhaltigkeit oder Konformität sieht aber anders aus.
                    Aber es scheint einfacher zu sein Fragen tot zu diskutieren als wenigens nen Versuch zu starten darauf zu antworten.
                    Sorry, aber "MVC-konform" und die Wahl dieses Forums (SW-Design) war Deine Idee. Du wirst Dir diese Antwort gefallen lassen müssen, denn was anderes kann man sinnvoll nicht empfehlen. Doc E's Antwort war Dir zu akademisch, meine ist Dir zu pessimistisch, was also suchst DU in diesem Forum?!
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #11
                      Der Fakt is doch einfach Dr.E. hat eine Antwort gegeben die zugegeben etwas kompliziert war aber sich mit meinem Problem beschäftigt hatn und die mir auch teilweise geholfen hat. Vorallem der Link war sehr gut (les ich nämlich gerade nebenbei).

                      Du hingegen hast bereits vier Antworten gegeben wobei sich keine mit meinem Problem beschäftigt hat und mir entsprechend auch keine ansatzweise weitergeholfen hat.

                      Von daher was ICH in diesem Forum suche sind Antworten und keine Gründe keine Antwort zu geben.

                      mfg

                      Kommentar


                      • #12
                        was ICH in diesem Forum suche sind Antworten
                        Ach ja, der Satz sagt sich ja immer leicht - "Ich suche doch nur Antworten" oder "Bitte nur Antworten, die hilfreich sind". An welcher Stelle Du mal konkret geworden bist, frage ich mich dagegen auch. Du hast (anscheinend) kein eigenen Ansätze, hast Dich mit MVC beschäftigt, weißt aber nicht, ob das alles so richtig ist, willst erstmal klein anfangen...

                        Eine Antwort wie "wenn Du halt partout Dein Flugzeug bauen willst..." wirst Du von mir nicht bekommen. Das wäre nicht aufrichtig, zu behaupten, man könnte das Problem von klein nach groß entwickeln.
                        [COLOR="#F5F5FF"]--[/COLOR]
                        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                        [COLOR="#F5F5FF"]
                        --[/COLOR]

                        Kommentar


                        • #13
                          Zitat von nikosch Beitrag anzeigen
                          An welcher Stelle Du mal konkret geworden bist, frage ich mich dagegen auch.
                          Scheinbar konkret genug um von Dr.E. eine auswertbare Antwort zu erhalten...

                          Und ich würde den Thread jetzt gern wieder den überlassen die antworten wollen.(Ja, ich meine das Antworten im Bezug auf die Frage(n) nicht auf beliebigen Text den man fälschlicherweise nach dem click auf "Antworten" angeben kann)

                          Kommentar


                          • #14
                            Macht doch ein Stuhlkreis und diskutiert es aus, mein Gott das entwickelt sich grad in einen Kindergarten...

                            Hast du dir das Prinzip auf Wikipedia mal durchgelesen und ansatzweiße verstanden?
                            Gerade als Anfänger ist sowas echt schwierig zu verstehen...

                            Kommentar


                            • #15
                              Vampire - Du kannst nicht eifnach mit einem Newsmodul anfangen ohne MVC richtig verstanden zu haben.

                              Daß Du MVC nicht bzw. nicht richtig verstanden hast zeigen Deine Fragen bzw. Beiträge.

                              Der "Rahmen" (und genau den gibt MVC vor) mußt Du unbedingt haben bevor Du irgendwelche Details
                              angehst, eben TopDown, statt BottomUp.

                              Begreif das endlich.

                              Und wenn Du es partout anders machen willst, dann vergiß MVC, dann nimm ein Grundlagentutorial
                              und arbeite es durch, schau Dir DB-Normalisierung, Session-Handling, EVA-Prinzip an, eigne Dir die Grundlagen an.

                              Dann hat der Thread aber auch nichts bei "Software-Design" zu suchen.

                              Hier sollte man die Grundlagen drauf haben.
                              Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

                              Kommentar

                              Lädt...
                              X