Was bedeutet MVC?

phpFK - Das PHP Framework für das Internet -> Kostenlos zum Download!

Was bedeutet MVC?

MVC bedeutet Folgendes:

Ein wichtiges Software-Entwicklung-Pattern ist der MVC (Model-View-Controller). Mit diesem Entwicklungsmuster können Sie objektorientierte Software zuverlässig erstellen. Die Objekte und Daten werden entsprechend nach Ansicht und Steuerungsstruktur erstellt. Dieses Konzept ist ideal für die Erstellung einer GUI (View), die interaktiv Daten aus Eingaben erhält und andererseits auch Daten auf dem Bildschirm darstellt. Ziel ist es eine Trennung zwischen Datenverarbeitung, der Repräsentation und den Eingaben zu erhalten.

Was bedeutet MVC?

(c) pixabay.com / alekseynemiro

Das Model-Objekt enthält die wichtigen Daten der Verarbeitung und somit den funktionalen Kern dieser Anwendung. Die Modelle sind unabhängig von ihrer Darstellung am Bildschirm und werden dabei in ganz eigenständigen Units abgelegt. Die Views sind die aktuellen Darstellungen von Eingangs- und Ausgangsdaten in jeweiligen Anzeigeobjekten. Ein einzelnes Model kann immer durch mehrere Views visualisiert werden. Damit sind unterschiedliche Sichtweise des Modells dargestellt. Der Controller hingegen ist für die Steuerung der Applikation durch den Benutzer verantwortlich. So werden alle Eingabegeräte überwacht und die Eingabedaten werden ausgewertet und weitergeleitet. Änderungen bei den Modelldaten werden vom Controller eingeleitet. View und Controller bilden zusammen gemeinsam die Benutzeroberfläche mit Ansicht und Steuerung. MVC können Sie relativ leicht mit folgenden eBook lernen: eBook: PHP lernen!

Aufgaben eines Model-View-Controllers

Das Modell ist für die Geschäftslogik zuständig und verwaltet den Zustand aller Objekte. Idealerweise geschieht dies in Zusammenarbeit mit einer Datenbank. Daten können ausgelesen und aktualisiert werden. Der Controller wird vom Modell benachrichtigt und seinerzeit aktualisiert dieser das Modell. Die Ansicht wird ebenfalls durch den Controller aktualisiert. Die Ansicht teilt alle Aktionen dem Controller mit. Der Anwender interagiert über die Ansicht mit der Anwendung.

Vorteile des Model-View-Controllers

Ein und dasselbe Datenmodell kann beim Model-View-Controller in mehreren Ansichten repräsentiert werden. Praktisch ist, dass alle Ansichten, die auf einem Modell aufbauen, immer automatisch synchronisiert sind. Die Bedienelemente können beliebig vertauscht werden. Jederzeit können neue Ansichten auf Basis des Modells implementiert werden. Damit ist das System nahezu beliebig skalierbar.

Bereits im Jahre 1979 wurde das MVC-Konzept für Benutzeroberflächen in Smalltalk von Trygve Reenskaug nach dem Seeheim-Modell beschrieben. Das MVC-Konzept ist ein klassisches Architekturmuster und die drei Komponenten hängen ganz nach der Umsetzung unterschiedlich stark voneinander ab. Die Geschäftslogik kann im Controller oder im Modell implementiert werden. Die Validierung von den Benutzereingaben können bei einfachen Formatvalidierungen direkt im View realisiert werden. Falls die Validierungen stärker die Geschäftslogik berücksichtigen müssen, dann werden diese eher im Modell oder auch in der Steuerung implementiert.

MVC-Architektur mit PHP

Die MVC-Architektur ist das häufigste Design Pattern für PHP. Dies wird in den unterschiedlichsten PHP Frameworks wie Laravel umgesetzt. PHP-Entwickler sollte mit dieser Architektur vertraut sein. Das MVC-Muster kann beim Klassendesign in drei unterschiedliche Kategorien unterteilt und genutzt werden. Jede Entität in der Datenbankstruktur besitzt eine eigene Model-Klasse. Bei einem Online-Shop ist es so, dass es eine Model-Klasse für User gibt, eine Model-Klasse für jeden einzelnen Artikel existiert und eine Model-Klasse für Kommentare, sowie eine Modelklasse für Bestellungen. Diese Model-Klassen sind eng gekoppelt an die Datenbankstruktur und es wird dafür gesorgt, dass die Daten aus der Datenbank geladen und in diese gespeichert werden. Im Gegensatz zu den Model-Daten leistet die View in PHP nur Unterstützung für die Ansicht und Präsentation der Daten. Templates in PHP werden in der Website mithilfe von HTML und CSS ausgegeben. Die View besitzt keine eigene Logik und es werden hier keinerlei Datenbankabfragen vorgenommen. Die View kümmert sich lediglich um die Darstellung der Anwendung. Die Controller-Klassen hingegen sorgen dafür, dass das Model mit der Präsentationsschicht korrekt zusammenarbeitet. So kann der Controller von der View die Login-Daten erhalten und diese werden vom Controller überprüft werden. Sind die Eingaben richtig, so steuert der Controller eine Darstellung der nächsten Seite. Das MVC-Konzept gewährleistet eine klare Trennung zwischen Modell, View und Controller.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.