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.
Die Betriebsumgebung dieses Artikels: Windows 10-System, ThinkPHP Version 5, Dell G3-Computer.
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.
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
view/default/user/add.html view/blue/user/add.html
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
controller/User //用于用户的业务逻辑控制和调度 event/User //用于用户的事件响应操作
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-TutorialDas 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!