本文实例讲述了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级目录的控制器层,如下:
其命令空间是这样的;
?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程序设计有所帮助。
您可能感兴趣的文章:- ThinkPHP控制器间实现相互调用的方法
- ThinkPHP中URL路径访问与模块控制器之间的关系
- thinkphp3.2实现跨控制器调用其他模块的方法
- thinkphp3.2实现上传图片的控制器方法
- thinkphp控制器调度使用示例
- ThinkPHP3.2.2的插件控制器功能
- Thinkphp 空操作、空控制器、命名空间(详解)
- thinkPHP通用控制器实现方法示例
- thinkPHP控制器变量在模板中的显示方法示例
- ThinkPHP5.0框架控制器继承基类和自定义类示例