ThinkPHP3.2.2的插件控制器功能


Posted in PHP onMarch 05, 2015

3.2.2版本开始支持插件控制器的调用,可以通过更加方便的URL地址访问到模块中某个插件定义的控制器。

当URL中传入插件控制器变量的时候,会自动定位到插件控制器中的操作方法。

插件控制器的变量由参数 VAR_ADDON 进行设置,默认为addon,例如我们在URL中传入:

http://serverName/Home/info/index/addon/SystemInfo

由于传入了addon参数,因此这里的User控制器并非原来的
Home/Controller/InfoController.class.php

而是调用SystemInfo插件(位于Home/Addon目录下面)的InfoController控制器了,文件位于

Home/Addon/SystemInfo/Controller/InfoController.class.php

插件控制器本身的定义和普通的访问控制器一样,例如:

namespace Home\Addon\SystemInfo\Controller;

 class InfoController extends \Think\Controller{

    public function index(){

        echo 'Addon SystemInfo';

    }

 }

这样,我们在访问

http://serverName/Home/info/index/addon/SystemInfo

的时候 就会输出
Addon SystemInfo
如果我们的插件目录不是Addon,而是Plugin,那么需要在配置文件中定义:

'VAR_ADDON'    =>    'plugin'

然后访问URL地址就变成了

http://serverName/Home/info/index/plugin/SystemInfo

注意:目前插件控制器仅支持模块的插件控制器访问,尚不支持全局的公共插件。

注意:该用法仅针对官网下载的3.2.2版本。后续将会做出一些细节的调整,包括定义插件位置等等。
更多的用法,请参考后续的详细手册内容。

PHP 相关文章推荐
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
PHP文件上传类实例详解
Apr 08 PHP
PHP中的表达式简述
May 29 PHP
简述php环境搭建与配置
Dec 05 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 PHP
php命名空间设计思想、用法与缺点分析
Jul 17 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 #PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 #PHP
thinkPHP学习笔记之安装配置篇
Mar 05 #PHP
PHP判断浏览器、判断语言代码分享
Mar 05 #PHP
Php-Redis安装测试笔记
Mar 05 #PHP
PHP中文乱码解决方案
Mar 05 #PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 #PHP
You might like
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
javascript设计模式 接口介绍
2012/07/24 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
npm的lock机制解析
2019/06/20 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
python脚本替换指定行实现步骤
2017/07/11 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
python里 super类的工作原理详解
2019/06/19 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
详解Python中import机制
2020/09/11 Python
办公室综合文员岗位职责范本
2014/02/13 职场文书
实现中国梦思想汇报2014
2014/09/13 职场文书
小学母亲节活动总结
2015/02/10 职场文书
2015入党自传格式范文
2015/06/26 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python