


Einführung in die mehrschichtige MVC-Unterstützung in den neuen Funktionen von ThinkPHP3.1
Dieser Artikel stellt hauptsächlich die Unterstützung von Multi-Layer-MVC in den neuen Funktionen von ThinkPHP3.1 vor. Jetzt kann ich ihn mit Ihnen teilen.
Standard Die Modellschicht besteht aus Modellklassen. Da das Projekt jedoch wächst und das Geschäftssystem komplexer wird, ist es für eine einzelne Modellschicht schwierig, die Anforderungen seit 3.1 zu erfüllen. In diesem Artikel wird hauptsächlich die Unterstützung von ThinkPHP3.1 Multi-Layer-MVC vorgestellt. Freunde, die sie benötigen, können sich auf
1 beziehen: Die Standardmodellebene besteht aus Model Da das Projekt jedoch wächst und das Geschäftssystem komplexer wird, ist es für eine einzelne Modellebene schwierig, die Anforderungen zu erfüllen. Ab 3.1 wurde die Designidee sehr einfach eingeführt Verschiedene Modellschichten erben weiterhin von der Modellklasse des Systems, es werden jedoch Unterschiede in der Verzeichnisstruktur und den Namenskonventionen vorgenommen. In einem bestimmten Projektdesign ist es beispielsweise erforderlich, zwischen verschiedenen Modellschichten wie Datenschicht, Logikschicht usw. zu unterscheiden. und Serviceschicht. Wir können Modell, Logik und Dienst im Lib-Verzeichnis des Projekts erstellen. Alle Modelloperationen in der Benutzertabelle sind in drei Schichten unterteilt:
Datenschicht : Model/UserModel wird verwendet, um datenbezogene automatische Überprüfung, automatische Vervollständigung und Datenzugriffsschnittstellen zu definieren
Logikschicht: Logic/UserLogic wird verwendet, um benutzerbezogene Geschäftslogik zu definieren
Serviceschicht: Service/UserService wird zum Definieren benutzerbezogener Serviceschnittstellen usw. verwendet.
Diese drei Modellbetriebsklassen können alle die Modellklasse erben, sodass der Betrieb von Benutzerdaten sehr klar ist. Beim Aufruf können Sie auch die integrierte D-Methode verwenden, um bequem Folgendes aufzurufen:
D('User') //实例化UserModel D('User','Logic') //实例化UserLogic D('User','Service') //实例化UserService
Die hierarchische Aufteilung der Modellebenen ist sehr flexibel und Entwickler können frei entscheiden Definieren Sie Hierarchien entsprechend den Anforderungen des Projekts.
2. Ansichtsebene: besteht aus einer Vorlage und einer Vorlagen-Engine, die direkt in der Vorlage verwendet werden kann Auch andere Template-Engines von Drittanbietern werden vom Treiber unterstützt. Mehrere Ebenen von Ansichten können leicht durch Verzeichnisse unterschieden werden, zum Beispiel:
Tpl/default/User/add.html Tpl/blue/User/add.html
3. Controller-Ebene: ThinkPHP-Steuerung Die Controller-Ebene besteht eines Kerncontrollers und eines Geschäftscontrollers wird durch die App-Klasse innerhalb des Systems vervollständigt und ist für die Planungssteuerung von Anwendungen (einschließlich Modulen und Vorgängen) verantwortlich, einschließlich des Abfangens und Weiterleitens von HTTP-Anfragen, des Ladens der Konfiguration usw Der Business Controller wird durch eine benutzerdefinierte Aktionsklasse vervollständigt. Version 3.1 bietet Unterstützung für mehrschichtige Service-Controller. Das Implementierungsprinzip ähnelt der Schichtung von Modellen wie Business Controllern und Event Controllern:
Action/UserAction //用于用户的业务逻辑控制和调度 Event/UserEvent //用于用户的事件响应操作
UserAction ist für externe Interaktionsantworten verantwortlich und antwortet über URL-Anfragen , wie http://serverName/User/index, und UserEvent ist für die interne Ereignisantwort verantwortlich und kann nur intern aufgerufen werden
A('User','Event');
, also ist von außen isoliert. Die Aufteilung von Multilayer-Controllern ist nicht zwingend erforderlich und kann je nach Projektbedarf frei geschichtet werden. In der Controller-Ebene können Sie nach Bedarf das Schichtmodell aufrufen oder die Ansichtsvorlagen verschiedener Verzeichnisse aufrufen.
Gleichzeitig kann die R-Methode auch den Aufruf von Multi-Layer-Controllern unterstützen. Ein dritter Parameter wird hinzugefügt, um den Layer-Namen des Controllers darzustellen, zum Beispiel:
R('User/register',array(15),'Event');
bedeutet, die Registermethode des UserEvent-Controllers aufzurufen und Parameter 15 zu übergeben.
In den drei Schichten von MVC ist ThinkPHP nicht von M oder V abhängig und kann sogar nur haben C oder nur V Das Design von ThinkPHP ist ein sehr wichtiges User Experience Design. Benutzer müssen nur die Ansicht definieren und es kann automatisch erkannt werden.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Eine umfassendere Einführung in die neuen Funktionen von ThinkPHP3.1, die Ajax unterstützen
Das obige ist der detaillierte Inhalt vonEinführung in die mehrschichtige MVC-Unterstützung in den neuen Funktionen von ThinkPHP3.1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP8.3 veröffentlicht: Überblick über neue Funktionen Da sich die Technologie weiterentwickelt und sich ändern muss, werden Programmiersprachen ständig aktualisiert und verbessert. PHP ist eine in der Webentwicklung weit verbreitete Skriptsprache und wurde ständig verbessert, um Entwicklern leistungsfähigere und effizientere Tools zur Verfügung zu stellen. Die kürzlich veröffentlichte PHP 8.3-Version bringt viele lang erwartete neue Funktionen und Verbesserungen. Werfen wir einen Blick auf einen Überblick über diese neuen Funktionen. Initialisierung von Nicht-Null-Eigenschaften Wenn in früheren Versionen von PHP einer Klasseneigenschaft nicht explizit ein Wert zugewiesen wurde, ist es ihr Wert

Eine ausführliche Analyse der neuen Funktionen von PHP8, um Ihnen zu helfen, die neueste Technologie zu beherrschen. Im Laufe der Zeit hat sich die Programmiersprache PHP ständig weiterentwickelt und verbessert. Die kürzlich veröffentlichte PHP8-Version bietet Entwicklern viele spannende neue Funktionen und Verbesserungen, die unsere Entwicklungsarbeit komfortabler und effizienter machen. In diesem Artikel analysieren wir die neuen Funktionen von PHP8 eingehend und stellen spezifische Codebeispiele bereit, die Ihnen helfen, diese neuesten Technologien besser zu beherrschen. Der JIT-Compiler PHP8 führt die JIT-Kompilierung (Just-In-Time) ein

Zu den neuen Funktionen von PHP8 gehören JIT-Compiler, Typableitung, benannte Parameter, Union-Typen, Eigenschaften, Verbesserungen bei der Fehlerbehandlung, Unterstützung für asynchrone Programmierung, neue Standardbibliotheksfunktionen und anonyme Klassenerweiterungen. Detaillierte Einführung: 1. JIT-Compiler, PHP8 führt den JIT-Compiler ein, der eine wichtige Leistungsverbesserung darstellt. Der JIT-Compiler kann einige hochfrequente Ausführungscodes in Echtzeit kompilieren und optimieren, wodurch die Ausführungsgeschwindigkeit verbessert wird führt die Typinferenzfunktion ein, die es Entwicklern ermöglicht, beim Deklarieren von Variablen usw. automatisch den Typ von Variablen abzuleiten.

[Interpretation neuer Funktionen der Go-Sprache: Um die Programmierung effizienter zu gestalten, sind spezifische Codebeispiele erforderlich.] In den letzten Jahren hat die Go-Sprache im Bereich der Softwareentwicklung große Aufmerksamkeit auf sich gezogen, und ihr einfaches und effizientes Designkonzept hat immer mehr Aufmerksamkeit erregt Entwickler. Als statisch typisierte Programmiersprache führt die Go-Sprache weiterhin neue Funktionen ein, um die Entwicklungseffizienz zu verbessern und den Code-Schreibprozess zu vereinfachen. In diesem Artikel werden die neuesten Funktionen der Go-Sprache ausführlich erläutert und anhand spezifischer Codebeispiele erläutert, wie Sie den Komfort dieser neuen Funktionen erleben können. Modulare Entwicklung (GoModules) Go-Sprache ab 1

Übersicht über die neuen Funktionen von CSS3: So erzielen Sie mit CSS3 Übergangseffekte. CSS3 ist die neueste Version von CSS. Unter den vielen neuen Funktionen dürfte der Übergangseffekt die interessanteste und praktischste sein. Übergangseffekte können unsere Seiten während der Interaktion flüssiger und schöner machen und den Benutzern ein gutes visuelles Erlebnis bieten. In diesem Artikel wird die grundlegende Verwendung von CSS3-Übergangseffekten mit entsprechenden Codebeispielen vorgestellt. Attribut „transition-property“: Geben Sie den CSS-Eigenschaftsübergangseffekt an, der überführt werden muss

Die in PHP8.1 eingeführte neue Redis-Erweiterung Mit der rasanten Entwicklung des Internets müssen große Datenmengen gespeichert und verarbeitet werden. Um die Effizienz und Leistung der Datenverarbeitung zu verbessern, ist Caching zu einem unverzichtbaren Bestandteil geworden. In der PHP-Entwicklung wird Redis als leistungsstarkes Schlüsselwertspeichersystem häufig in Caching- und Datenspeicherszenarien eingesetzt. Um die Erfahrung bei der Verwendung von Redis in PHP weiter zu verbessern, führt PHP8.1 eine neue Redis-Erweiterung ein. In diesem Artikel werden die neuen Funktionen dieser Erweiterung vorgestellt und bereitgestellt

Die neuen Funktionen der Go-Sprache sind: 1. Go-Modul, das zum Verwalten der Abhängigkeiten von Go-Sprachprojekten verwendet wird. 2. Fehlerbehandlung, Hinzufügen eines neuen Fehlertyps, wodurch die Fehlerbehandlung flexibler und präziser wird. 3. Kontextpaket, verwendet zum Übertragen von Anforderungsbereichswerten zwischen Goroutinen; 4. Einbettung, das heißt, eine Struktur kann in eine andere Struktur eingebettet werden. 5. Synchronisierungspaket, um die Synchronisation und Kommunikation zwischen Goroutinen besser zu steuern 7. Generika ermöglichen es Entwicklern, flexibler zu schreiben.

Überblick über die neuen Funktionen von CSS3: So verwenden Sie CSS3, um ein horizontal zentriertes Layout zu erreichen. Bei Webdesign und -layout ist ein horizontal zentriertes Layout eine häufige Anforderung. In der Vergangenheit haben wir dazu oft komplexe JavaScript- oder CSS-Tricks eingesetzt. Mit CSS3 wurden jedoch einige neue Funktionen eingeführt, die horizontal zentrierte Layouts einfacher und flexibler machen. In diesem Artikel werden einige neue Funktionen von CSS3 vorgestellt und einige Codebeispiele bereitgestellt, um zu veranschaulichen, wie Sie mit CSS3 ein horizontal zentriertes Layout erreichen. 1. Verwenden Sie Flexbox zum Layouten der Datei
