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 相关文章推荐
PHP时间戳使用实例代码
Jun 07 PHP
PHP 一个页面执行时间类代码
Mar 05 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
php中error与exception的区别及应用
Jul 28 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
php获取错误信息的方法
Jul 17 PHP
PHP中include和require的区别实例分析
May 07 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
Oct 17 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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中使用gettext来支持多语言的方法
2011/05/02 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
Python socket实现简单聊天室
2018/04/01 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
远程研修随笔感言
2014/02/10 职场文书
岗位说明书范文
2014/05/07 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
一般纳税人申请报告
2015/05/18 职场文书
2015国庆节感想
2015/08/04 职场文书
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js