Heim > Artikel > Backend-Entwicklung > Verständnis des MVC-Frameworks
In den Anfängen der Softwareentwicklung waren Anwendungen komplexe Einheiten, in denen Logik und Benutzeroberfläche unweigerlich miteinander verflochten waren. In den späten 1970er Jahren entwickelten die Designer der Programmiersprache Smalltalk einen anderen Ansatz zum Erstellen von Anwendungen – einen, der die „Geschäftslogik“ der Software von den Elementen trennte, die dem Benutzer eine Schnittstelle bereitstellten und seine Anweisungen akzeptierten.
Die Prinzipien der Softwarearchitektur – MVC oder Model-View-Controller – wurden später zum Entwurfsmuster für die überwiegende Mehrheit der Webanwendungen und der Frameworks, auf denen sie basieren. PHP-Frameworks wie CodeIgniter, CakePHP und Laravel sollen die Erstellung von Anwendungen im MVC-Stil so einfach wie möglich machen. Verwandte Empfehlungen: „mvc Design Pattern“
Was ist MVC?Der beste Weg, MVC zu verstehen, besteht darin, zu verstehen, wie es Bedenken in der Anwendungsarchitektur trennt.
Modell
Modell ist der Kern einer MVC-Anwendung. Hier werden die Hauptlogik und Datenobjekte entwickelt, die die Kernfunktionalität der Anwendung ausmachen. Sie können sich ein Modell als eine Darstellung des realen Wissens vorstellen, das die Anwendung speichert, verarbeitet und an den Endbenutzer liefert (obwohl die Einzelheiten der Bereitstellung an anderer Stelle erfolgen).
Das Modell ist dafür verantwortlich, Daten aus der Datenbank abzurufen, sie in Datenobjekte zu verpacken, die andere Komponenten verstehen können, und diese Objekte bereitzustellen – die meisten davon reagieren auf Eingaben vom Controller.
Controller
Controller sind die Art und Weise, wie Benutzer mit Ihrer Anwendung interagieren. Normalerweise empfängt ein Controller eine Benutzeranforderung von einer Schnittstelle (normalerweise in Form einer HTTP-Anfrage von einer Webanwendung) und ruft ein Modell auf, das die Daten abruft und verarbeitet, bevor die Daten an den Controller zurückgegeben werden. Der Controller zeigt dem Benutzer diese Ergebnisse dann in der entsprechenden Ansicht an.
Ansicht
Ansicht ist der Ort, an dem die vom Modell bereitgestellten Daten dem Benutzer präsentiert werden. Eine Ansicht überwacht visuelle (oder andere) Schnittstellenelemente – sie wählt die vom Modell bereitgestellten Informationen aus, filtert und ordnet sie an.
Verschiedene Ansichten können Informationen auf unterschiedliche Weise anzeigen – eine offensichtliche Implementierung mehrerer Ansichten besteht darin, die Anzeige von Informationen in einem mobilen oder Desktop-Browser zu verwalten.
Bitte denken Sie daran, dass es viele verschiedene Möglichkeiten gibt, die MVC-Architektur zu implementieren. Das Obige ist ein allgemeiner Überblick über die Grundprinzipien und spiegelt keine spezifische Implementierung wider.
Warum MVC verwenden?
Entwickler verwenden die MVC-Architektur aus demselben Grund, aus dem Webdesigner HTML (Modell) und CSS (Ansicht) verwenden, nicht eine Mischung, indem sie Struktur schaffen , Daten und Layout zusammen, die Trennung von Präsentation und Daten reduziert die Komplexität und ermöglicht es Entwicklern beispielsweise, neue Front-End-Schnittstellen zu erstellen, ohne die Kernlogik ändern zu müssen. MVC reduziert die Komplexität von Webanwendungen und macht sie einfacher zu warten.
Warum ein Framework verwenden?
MVC-Framework erledigt die meisten grundlegenden Framework-Arbeiten zum Erstellen von MVC-Anwendungen. Entwickler erweitern einfach die vom Framework bereitgestellten Strukturen.
Wie Sie sich vorstellen können, ist die Erstellung einer MVC-Anwendung von Grund auf komplex – Frameworks erleichtern den Einstieg. Entwickler können sich auf den Aufbau der Hauptlogik der Anwendung und darauf konzentrieren, welche Schnittstellen Benutzer mit dieser Logik interagieren, anstatt sich um die komplexe Organisation der Komponenten und deren Interaktion zu kümmern.
Das obige ist der detaillierte Inhalt vonVerständnis des MVC-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!