当前位置: 移动技术网 > IT编程>开发语言>PHP > TP(thinkPHP)框架多层控制器和多级控制器的使用示例

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

2018年08月10日  | 移动技术网IT编程  | 我要评论

高贺迪,星空卫视直播,智者无敌 白鸽

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

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

├─controller 访问控制器
│  ├─usercontroller.class.php
│  ├─blogcontroller.class.php
│  ...
├─event 事件控制器
│  ├─userevent.class.php
│  ├─blogevent.class.php
│  ...

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

多层控制器实例化:

/*
 * 多层控制器实例化 即和访问控制器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();

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

├─controller 访问控制器
│  ├─user user分级(组)
│  │  ├─usertypecontroller.class.php
│  │  ├─userauthcontroller.class.php
│  ...
│  ├─admin admin分级(组)
│  │  ├─usercontroller.class.php
│  │  ├─configcontroller.class.php
│  ...

其访问格式:

http://servername/home/user/usertype
http://servername/home/admin/user

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

'controller_level'   => 2,

其命令空间是这样的;

<?php
namespace home\controller\admin;
use think\controller;
class indexcontroller extends controller {
  public function hello(){
    echo 'hello';
  }
  public function test(){
    echo 'test';
  }
}

多级控制器的实例化:

可以直接实例化

// 实例化home模块的user控制器
$user = new \home\controller\user\usertypecontroller();
// 实例化admin模块的blog控制器
$blog = new \admin\controller\admin\usercontroller();

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》及《php模板技术总结》。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网