Heim  >  Artikel  >  Backend-Entwicklung  >  Über die Verwendung von Multi-Layer-Controllern und Multi-Level-Controllern im thinkPHP-Framework

Über die Verwendung von Multi-Layer-Controllern und Multi-Level-Controllern im thinkPHP-Framework

不言
不言Original
2018-06-14 15:29:572653Durchsuche

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 &#39;hello&#39;;
  }
  public function test(){
    echo &#39;test&#39;;
  }
}

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!

Stellungnahme:
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