2016-10-19 10 views
1

Ich versuche zu verstehen, wie MVC in PHP angewendet werden sollte. was ich bisher verstehe ist ** Modell: ** speichert und empfängt Daten. ** Ansicht: ** fordern Sie die vom Modell gehaltenen Daten an und präsentieren Sie sie. ** Controller: ** Sammeln Sie Daten, die von Benutzern gesendet werden, und aktualisieren Sie das Modell damit.Wie sollte die Ansicht angezeigt werden, auf MVC in PHP

my understand of MVC

ist diese richtige Ursache seiner so verwirrend, wie viele andere Implementierung von MVC, die richtige zu Anspruch scheint.

+0

Ja, wenn Sie nach der [wikipedia] (https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) Definition gehen, ist Ihre Interpretation korrekt. –

+0

Es ist nicht völlig ausreichend tho: Benutzeranforderungen sind nicht nur Daten aus dem Modell abrufen. Benutzeranforderungen werden nicht direkt von einem Modell behandelt, sondern immer von einem Controller (der immer zwischen der Ansichts- und der Modellschicht liegt). – Benjamin

+0

der einzige Unterschied besteht darin, den Pfeil von Ansicht-> Modell zu Modell-> Ansicht –

Antwort

3

TL; DR ja, irgendwie.

Dies würde man "Model 2 MVC" oder "Web MVC" nennen, wie es von der Java-Gemeinschaft in den frühen 2000ern definiert wurde.

Der Hauptunterschied zum "klassischen MVC" besteht in der Art und Weise, wie die Ansicht mit dem Modell interagiert, denn im klassischen Ansatz würde die Ansicht observe das Modell für Änderungen in seinem Zustand sein. Der Controller würde den Zustand des Modells ändern und die Ansicht würde ein Signal erhalten, dass sich der Zustand des Modells geändert hat. Dies würde die Ansicht veranlassen, nur die Information anzufordern, die in direktem Zusammenhang mit der Zustandsänderung stand.

Aber der klassische Ansatz ist nicht so pragmatisch für das Web. Wo kommt Model2MVC ins Spiel?

Aufgrund der Anfrage-Antwort-Natur des Web werden Sie mit Paaren von Controllern und Ansichten enden. Und jede Ansicht weiß bereits, was ihr gepaarter Controller im Modellzustand ändern wird. Und es braucht nichts zu beobachten, weil es alle Daten der Seite sowieso brauchen wird.

Ich hoffe, das hilft.

P.S. Die Gründe, warum Sie sehen, dass so viele behaupten, MVC zu verwenden, was völlig anders ist, ist RubyOnRails - es hat "MVC" als Marketing-Schlagwort verwendet.

+0

wow, dass wirklich hummm ... (was das Wort zu verwenden) erleuchtend !, nicht zu viel zu fragen, würde ich mich auf Liebe verlassen, um einen Artikel von Ihnen auf diesem zu lesen, wenn Sie sich interessieren würden, um einen zu schreiben. – twist

-3

Modell - Deals mit database.Add Update löschen usw.

Ansichten sind Darstellung von Daten d.h HTML-Formatierung z Tabelle, div

-Controller sitzt zwischen Modell und Ansichten. Es bedeutet, dass der Controller Daten vom Benutzer erhält, ihn bereinigen, validieren und dann an das MODELL weiterleiten.then MODELL RETOURS AN DEN CONTROLLER, DER ANSICHTEN ANSPRACHT.

+0

zu ändern Sie reden über eine Modellansicht Presenter (Controller ist der Mittelmann), das ist nicht MVC. –

+1

Modell ist Layer und besteht aus Services, Domain Objects und Data Mapper (sql) Link zum Lesen http://StackOverflow.com/Questions/5863870/how-should-a-model-be-structured-in-mvc/5864000 # 5864000 – Linus

Verwandte Themen