In diesem Artikel wird hauptsächlich die Verwendung von mehrschichtigen Controllern und mehrstufigen Controllern des TP (thinkPHP)-Frameworks vorgestellt und die Struktur, Prinzipien und Verwendung von mehrschichtigen Controllern und mehrstufigen Controllern des thinkPHP-Frameworks anhand von Beispielen analysiert . Freunde in Not können sich auf
beziehen. Dieser Artikel beschreibt die Verwendung von Multi-Layer-Controllern und Multi-Level-Controllern im TP-Framework (thinkPHP) anhand von Beispielen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Die Verzeichnisstruktur des Multi-Layer-Controllers ist wie folgt:
├─ Controller-Zugriffscontroller
│ ├─UserController.class.php
│ ├─BlogController.class.php
│ ...
├─Event-Event-Controller
│ ├─UserEvent.class.php
│ ├─BlogEvent.class.php
│ ...
Fügen Sie einfach mehrschichtige Controller zur App-Anwendung hinzu, ohne Parameter hinzuzufügen Befolgen Sie die obigen Schritte. Erstellen Sie einfach die Datei direkt.
Multi-Level-Controller-Instanziierung:
/* * 多层控制器实例化 即和访问控制器Controller同级目录的Service时 可用D方法或A方法 * 注:访问控制器的名称是通过DEFAULT_C_LAYER设置的,默认是Controller,访问控制器负责外部交互响应, 其它的控制器层和外部隔离,只能内部调用。定义其他的控制器层,则不一定必须要继承系统的Controller类或其子类,通常需要输出模版的时候才需要继承Controller类。 */ D('Admin', 'Service'); //或者 A('User','Event'); A('Admin/Blog','Event'); //假设当前模块是Home模块 // 实例化Home模块的User事件控制器 $User = new \Home\Event\UserEvent(); // 实例化Admin模块的Blog事件控制器 $Blog = new \Admin\Event\BlogEvent();
Und der Multi-Level-Controller Die Verzeichnisstruktur sieht folgendermaßen aus:
├─Controller-Zugriffscontroller
│ ├─Benutzer Benutzerklassifizierung (Gruppe)
│ │ ├─UserTypeController.class php
│ │ ├─UserAuthController.class.php
│ ...
│ ├─Admin Admin-Bewertung (Gruppe)
│ │ ├─UserController.class.php
│ │ ├ ─ ConfigController.class.php
│ ...
Sein Zugriffsformat:
http://serverName/Home/User/UserType
http://serverName/Home/Admin/User
Die Einstellung als mehrstufiger Controller erfordert die Einstellung von Konfigurationsparametern, d. h. die Einstellung der hierarchischen Ebene des Controllers, zum Beispiel Einstellungsebene 2 Die Controller-Ebene des Verzeichnisses lautet wie folgt:
'CONTROLLER_LEVEL' => 2,
Der Befehlsraum sieht so aus:
<?php namespace Home\Controller\Admin; use Think\Controller; class IndexController extends Controller { public function hello(){ echo 'hello'; } public function test(){ echo 'test'; } }
Instanziierung von mehrstufigen Controllern:
kann direkt instanziiert werden
// 实例化Home模块的User控制器 $User = new \Home\Controller\User\UserTypeController(); // 实例化Admin模块的Blog控制器 $Blog = new \Admin\Controller\Admin\UserController();
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:
Über die Verwendung der benutzerdefinierten Konfiguration und das Laden des ThinkPHP3.2-Frameworks
Wie das ThinkPHP-Framework implementiert wird Mehrfachtabellenabfrage
Das obige ist der detaillierte Inhalt vonÜber die Verwendung von Multi-Layer-Controllern und Multi-Level-Controllern im thinkPHP-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!