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 .
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{ }
Event Controller Home/Event/UserEvent.class.php ist wie folgt definiert:
namespace Home\Event; use Think\Controller; class UserEvent extends Controller{ }
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');
Die Standardzugriffscontrollerschicht ist Controller, wir können das anpassen Einstellungen wie folgt:
'DEFAULT_C_LAYER' => 'Event', // 默认的控制器层名称改为Event
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!