Heim > PHP-Framework > Denken Sie an PHP > Was ist ein Thinkphp-Controller?

Was ist ein Thinkphp-Controller?

青灯夜游
Freigeben: 2021-12-27 11:22:51
Original
2374 Leute haben es durchsucht

Der Controller von ThinkPHP ist eine Klasse, die Benutzereingaben akzeptiert und Modelle und Ansichten aufruft, um die Benutzeranforderungen zu erfüllen. Die Controller-Schicht besteht aus Kerncontrollern und Business-Controllern, die für die Steuerung der Anwendungsplanung verantwortlich sind, während der Business-Controller aus einer benutzerdefinierten Controller-Klasse besteht .

Was ist ein Thinkphp-Controller?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Thinkphp v5.1-Version, Dell G3-Computer.

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

MVC ist ein Entwurfsmuster, das die Trennung von Eingabe, Verarbeitung und Ausgabe einer Anwendung erzwingt. Anwendungen, die MVC verwenden, sind in drei Kernkomponenten unterteilt: Modell (M), Ansicht (V) und Controller (C), von denen jede ihre eigenen Aufgaben übernimmt.

Controller-Ebene

ThinkPHPs Controller ist eine Klasse.

Die Controller-Schicht von ThinkPHP besteht aus einem Kern-Controller und einem Business-Controller. Der Kern-Controller wird durch die App-Klasse innerhalb des Systems vervollständigt und ist für die Planungssteuerung von Anwendungen (einschließlich Modulen, Controllern und Vorgängen) verantwortlich, einschließlich des Abfangens von HTTP-Anfragen Weiterleitung, Konfiguration laden usw. Der Business Controller wird durch eine benutzerdefinierte Controller-Klasse vervollständigt. Das Implementierungsprinzip eines mehrschichtigen Business Controllers ähnelt der Schichtung von Modellen wie Business Controller und Event Controller:

Controller/UserController //Wird für die Steuerung und Planung der Benutzergeschäftslogik verwendet

Event/UserEvent //Verwendet Ereignisantwortoperation des Benutzers

Access Controller Home/Controller/UserController.class.php ist wie folgt definiert:

namespace Home\Controller;
use Think\Controller;
class UserController extends Controller{
}
Nach dem Login kopieren

Event Controller Home/Event/UserEvent.class.php ist wie folgt definiert:

namespace Home\Event;
use Think\Controller;
class UserEvent extends Controller{
}
Nach dem Login kopieren

UserController ist für externe verantwortlich Interaktionsantwort, Anforderungsantwort über URL, z. B. http://serverName/User/index, und UserEvent ist für die interne Ereignisantwort verantwortlich und kann nur intern aufgerufen werden:

A('User','Event');
Nach dem Login kopieren

Die Standardzugriffscontrollerschicht ist Controller, wir können das anpassen Einstellungen wie folgt:

'DEFAULT_C_LAYER'       =>  'Event', // 默认的控制器层名称改为Event
Nach dem Login kopieren

So ist es von der Außenwelt isoliert.

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 nach Bedarf das Ebenenmodell aufrufen oder verschiedene Ebenenansichten (Themen) aufrufen.

In den drei Schichten von MVC ist ThinkPHP nicht auf M oder V angewiesen. Es kann sogar nur C oder nur V haben. Dies ist ein sehr wichtiges User Experience-Design im ThinkPHP-Design. Der Benutzer muss nur die Ansicht definieren Das Fehlen von C kann auch automatisch erkannt werden.

【Verwandte Tutorial-Empfehlung: Thinkphp Framework

Das obige ist der detaillierte Inhalt vonWas ist ein Thinkphp-Controller?. 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