当前位置:首页 > CMS教程 > Thinkphp > 列表

TP(thinkPHP)框架多层控制器和多级控制器的使用示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-10-01 16:05:04 浏览: 评论:0 

这篇文章主要介绍了TP(thinkPHP)框架多层控制器和多级控制器的使用,结合实例形式分析了thinkPHP框架多层控制器和多级控制器的结构、原理及使用方法,需要的朋友可以参考下。

本文实例讲述了TP(thinkPHP)框架多层控制器和多级控制器的使用。分享给大家供大家参考,具体如下:

多层控制器的目录结构是这样的:

  1. ├─Controller 访问控制器 
  2. │  ├─UserController.class.php 
  3. │  ├─BlogController.class.php 
  4. │  ... 
  5. ├─Event 事件控制器 
  6. │  ├─UserEvent.class.php 
  7. │  ├─BlogEvent.class.php 
  8. │  ... 

给App应用添加多层控制器,不需添加任何参数,只需按照如上的方式直接建文件即可。

多层控制器实例化:

多层控制器实例化 即和访问控制器Controller同级目录的Service时 可用D方法或A方法

注:访问控制器的名称是通过DEFAULT_C_LAYER设置的,默认是Controller,访问控制器负责外部交互响应,其它的控制器层和外部隔离,只能内部调用。定义其他的控制器层,则不一定必须要继承系统的Controller类或其子类,通常需要输出模版的时候才需要继承Controller类。

  1.  */ 
  2. D('Admin''Service'); 
  3. //或者 
  4. A('User','Event'); 
  5. A('Admin/Blog','Event');  //假设当前模块是Home模块 
  6. // 实例化Home模块的User事件控制器 
  7. $User = new \Home\Event\UserEvent(); 
  8. // 实例化Admin模块的Blog事件控制器 
  9. $Blog = new \Admin\Event\BlogEvent(); 

而多级控制器的目录结构是这样的:

  1. ├─Controller 访问控制器 
  2. │  ├─User User分级(组) 
  3. │  │  ├─UserTypeController.class.php 
  4. │  │  ├─UserAuthController.class.php 
  5. │  ... 
  6. │  ├─Admin Admin分级(组) 
  7. │  │  ├─UserController.class.php 
  8. │  │  ├─ConfigController.class.php 
  9. │  ... 

其访问格式:

http://serverName/Home/User/UserType

http://serverName/Home/Admin/User

设置为多级控制器是需要设置配置参数的,即设置控制器的分级层次,例如设置2级目录的控制器层,如下:

'CONTROLLER_LEVEL'   => 2,

其命令空间是这样的;

  1. <?php 
  2. namespace Home\Controller\Admin; 
  3. use Think\Controller; 
  4. class IndexController extends Controller { 
  5.   public function hello(){ 
  6.     echo 'hello'
  7.   } 
  8.   public function test(){ 
  9.     echo 'test'
  10.   } 

多级控制器的实例化:

可以直接实例化

  1. // 实例化Home模块的User控制器 
  2. $User = new \Home\Controller\User\UserTypeController(); 
  3. // 实例化Admin模块的Blog控制器 
  4. $Blog = new \Admin\Controller\Admin\UserController();

Tags: thinkPHP多层控制器

分享到: