Heim > PHP-Framework > Denken Sie an PHP > Was ist MVC-Layering in thinkphp5?

Was ist MVC-Layering in thinkphp5?

WBOY
Freigeben: 2022-03-07 10:31:59
Original
5701 Leute haben es durchsucht

In thinkphp5 bezieht sich die MVC-Schicht auf die Arbeitsteilung und Zusammenarbeit zwischen der Modellschicht, der Ansichtsschicht und der Controller-Schicht. Die Logikschicht und die Präsentationsschicht sind für Datenbankoperationen verantwortlich, und der Controller ist ein Modulklasse, die gemäß der URL arbeitet. Ansichten werden zum Verbinden von Aktionscontrollern und Vorlagendateien verwendet.

Was ist MVC-Layering in thinkphp5?

Die Betriebsumgebung dieses Artikels: Windows 10-System, ThinkPHP Version 5, Dell G3-Computer.

Überlegen Sie, was die MVC-Schichtung in PHP5 ist

MVC, M-Modell, V-Ansicht, C-Controller.

Schichtung bedeutet Arbeitsteilung und Zusammenarbeit, wobei die Logikschicht und die Präsentationsschicht getrennt arbeiten. Das Modell ist verantwortlich für: Datenbankoperationen. Controller: Jede WEB-Operation ist eine Operation eines Moduls. Der Controller ist eine Modulklasse, die entsprechend der URL plant und arbeitet. Ansicht (bestehend aus Ansichtsklasse und Vorlagendatei): Verbindet den Aktionscontroller und die Vorlagendatei. Die Aktionsklasse übergibt die Daten über die Ansichtsklasse an die Vorlagendatei, und die Vorlagendatei konvertiert die empfangenen Daten zur Anzeige in das entsprechende Datenformat .

ThinkPHP basiert auf dem MVC-Muster (Model-View-Controller, Model-View-Controller) und unterstützt mehrschichtiges (mehrschichtiges) Design.

Modellebene

Die Standardmodellebene besteht aus der Modellklasse. Wenn das Projekt jedoch wächst und das Geschäftssystem komplexer wird, ist es für eine einzelne Modellebene schwierig, die Anforderungen zu erfüllen Die Unterstützung mehrschichtiger Modelle ist sehr einfach. Verschiedene Modellschichten erben weiterhin von der Modellklasse des Systems, unterscheiden sich jedoch in der Verzeichnisstruktur und der Namenskonvention.

In einem bestimmten Projektdesign müssen wir beispielsweise zwischen verschiedenen Modellschichten wie Datenschicht, Logikschicht und Serviceschicht unterscheiden. Wir können Modell-, Logik- und Serviceverzeichnisse unter dem Modulverzeichnis erstellen und alle Modelle aufteilen Operationen auf der Benutzertabelle in drei Schichten:

Datenschicht: Modell/Benutzer wird verwendet, um datenbezogene automatische Überprüfung, automatische Vervollständigung und Datenzugriffsschnittstellen zu definieren.

Logikschicht: Logik/Benutzer wird verwendet, um benutzerbezogene Geschäfte zu definieren Logik

Dienstschicht: Dienst/Benutzer wird zum Definieren benutzerbezogener Dienstschnittstellen usw. verwendet. Diese drei Modellbetriebsklassen können alle die thinkModel-Klasse erben.

Die hierarchische Aufteilung der Modellebenen ist sehr flexibel. Entwickler können Modellhierarchien entsprechend den Anforderungen des Projekts frei definieren und hinzufügen.

Ansichtsebene

Die Ansichtsebene besteht aus Vorlagen und Vorlagen-Engines, die direkt in Vorlagen verwendet werden können. Das Design der Vorlagen-Engine kann auch über Treiber unterstützt werden. Mehrere Ebenen von Ansichten können einfach durch Verzeichnisse unterschieden werden, zum Beispiel:

view/default/user/add.html
view/blue/user/add.html
Nach dem Login kopieren

Eine komplexere mehrschichtige Ansicht kann weiter vervollständigt werden, indem verschiedene Ansichtsverzeichnisse verwendet werden, zum Beispiel:

normales Ansichtsebenenverzeichnis anzeigen

mobile mobile Zugriffsansicht Schichtverzeichnis

Controller-Schicht

Die Controller-Schicht von ThinkPHP besteht aus Kerncontrollern und Geschäftscontrollern. Der Kerncontroller wird durch die App-Klasse im System vervollständigt und ist für die Planungssteuerung von Anwendungen (einschließlich Modulen, Controllern und Vorgängen) verantwortlich, einschließlich HTTP-Anforderungen Abfangen und Weiterleiten, Laden der Konfiguration usw. Der Business Controller wird durch eine benutzerdefinierte Controller-Klasse vervollständigt. Das Implementierungsprinzip des mehrschichtigen Business Controllers ähnelt der Schichtung von Modellen wie Business Controller und Event Controller:

controller/User //用于用户的业务逻辑控制和调度
event/User //用于用户的事件响应操作
Nach dem Login kopieren

controllerUser ist für die Reaktion auf externe Interaktionen verantwortlich und antwortet über URL-Anfragen wie http://serverName/User /index und eventUser sind für die interne Ereignisantwort verantwortlich und können nur intern aufgerufen werden, sodass sie von außen isoliert sind. Die Aufteilung von Multilayer-Controllern ist nicht zwingend erforderlich und kann entsprechend den Anforderungen der Anwendung frei geschichtet werden. In der Controller-Ebene können Sie das Ebenenmodell nach Bedarf aufrufen oder verschiedene Ebenenansichten aufrufen.

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist MVC-Layering in thinkphp5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage