Blog in CodeIgniter: Wo startet das Modell und der Controller beendet?

8

Ich teste CodeIgniter und versuche, einen einfachen Blog zu erstellen. Das Video-Tutorial auf der CodeIgniter-Seite ist nett, aber sehr unvollständig. Ich kenne die MVC-Struktur nicht sehr gut und frage mich, wie genau ein Modell verwendet wird. Zum Beispiel mache ich gerade den "admin" Teil meines Blogs, mit dem Sie Einträge erstellen, löschen und ändern können. Die Ansicht enthält nur xhtml, und der Controller kümmert sich um den Rest. Was sollte im Modell sein? Gibt es alles, was mit der Datenbank zu tun hat, im Modell (d. H. Einfügen, Aktualisieren, Auswählen usw.)?

    
Manu 25.06.2009, 16:23
quelle

4 Antworten

9

Hängt davon ab, wen du fragst.

Manche Leute geben gerne so viel wie möglich in das Modell ein (Validierung, Datenabruf usw.) und lassen den Controller einfach nur hineinstecken, um die Daten zu erhalten, die er benötigt, und übergibt sie dann der Ansicht.

>

Denken Sie darüber nach: Wenn Sie mehr als einen Controller haben, der auf ein einzelnes Modell zugreift, dann sollten gemeinsame Dinge zwischen ihnen nicht an einem gemeinsamen Ort sein (solange diese gemeinsame Sache tatsächlich etwas mit dem Modell zu tun hat) ?

    
nilamo 25.06.2009, 16:33
quelle
2

Das Modell sollte alles Datenbankbezogene enthalten und alle grundlegenden CRUD-Operationen ausführen (Erstellen, Abrufen, Aktualisieren, Löschen).

Der Controller sollte die gesamte Kommunikation zwischen dem Modell und der Ansicht handhaben. Wenn Sie zum Beispiel ein Formular zum Hinzufügen eines neuen Posts haben, sollten Sie eine Ansicht für dieses Formular haben, das von einem Controller aufgerufen wird. Der Controller würde prüfen, ob etwas gesendet wurde, und falls etwas passiert, rufen Sie die Methode create / insert aus dem Post Model auf.

    
GSto 26.06.2009 18:10
quelle
2

Für mich ist das Modell ein Ort, an dem ich alles "schmutzige" Arbeiten für meine Daten mache. Ich hole, füge ein, aktualisiere Daten zur Datenbank, alles in einem Modell. Ich erstelle 1 Modell für 1 Tabelle in der Datenbank.

Der Controller wird für eine von mir erstellte Seite logisch zentral sein. Es muss so dünn wie möglich sein. Wenn eine Funktion über 1 Bildschirm hinausgeht, ist sie zu lang (außer wenn sie eine Validierung bildet, die im Controller durchgeführt werden muss). Hier kommt Model ins Spiel. Der Controller gibt die Daten einfach an das Modell weiter. Ich überprüfe, bearbeite und formatiere die Daten im Modell. Mein Controller holt dann verarbeitete Daten aus dem Modell, übergibt sie an die Anzeige, fertig.

    
Donny Kurnia 27.06.2009 13:52
quelle
-1

model = ist ein Objekt, das "mit Ihrer Datenbank kommuniziert" view = ist das Objekt, das die Benutzeroberfläche erstellt controller = ist der Kommandant .. er hat Befehl vom Benutzer und dann er gibt es auf dem Modell und dient dem Benutzer durch Ansicht.

um einen einfachen Blog zu erstellen, versuchen Sie Codingiter zu lesen, um zu beginnen. Es wird dir sehr helfen, wenn du das Video angeschaut hast. Die Codeigniter-Referenzen sind gut dokumentiert und gut erklärt. probiere das zuerst aus.

    
nightingale2k1 25.06.2009 16:34
quelle