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


Posted in PHP onJune 13, 2018

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 和 MySQL 基础教程(三)
Oct 09 PHP
PHP 遍历文件实现代码
May 04 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
php仿QQ验证码的实例分析
Jul 01 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
php查找字符串出现次数的方法
Dec 01 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
必须收藏的php实用代码片段
Feb 02 PHP
php json转换相关知识(小结)
Dec 21 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
laravel框架使用极光推送消息操作示例
Feb 15 PHP
php修改word的实例方法
Nov 17 PHP
微信公众号开发之获取位置信息php代码
Jun 13 #PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 #PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 #PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 #PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 #PHP
php中html_entity_decode实现HTML实体转义
Jun 13 #PHP
php处理多图上传压缩代码功能
Jun 13 #PHP
You might like
基于php伪静态的实现详细介绍
2013/04/28 PHP
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
详解Python 循环嵌套
2020/07/09 Python
python Zmail模块简介与使用示例
2020/12/19 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
竟聘演讲稿范文
2013/12/31 职场文书
三下乡活动方案
2014/01/31 职场文书
教师年度考核评语
2014/04/28 职场文书
法院授权委托书范文
2014/08/02 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
行政介绍信范文
2015/05/04 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL