ThinkPHP3.2.2的插件控制器功能简述


Posted in PHP onJuly 09, 2014

ThinkPHP从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

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

PHP 相关文章推荐
深入PHP变量存储的详解
Jun 13 PHP
PHP删除数组中特定元素的两种方法
Jul 02 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 PHP
PHP简单实现循环链表功能示例
Nov 10 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
Jul 08 #PHP
php中出现空白页的原因及解决方法汇总
Jul 08 #PHP
php之Smarty模板使用方法示例详解
Jul 08 #PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 #PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 #PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 #PHP
PHP的error_reporting错误级别变量对照表
Jul 08 #PHP
You might like
用PHP的ob_start() 控制您的浏览器cache
2009/08/03 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
Javascript 实用小技巧
2010/04/07 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
浅谈JS运算符&&和|| 及其优先级
2016/08/10 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
2018/01/03 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
简单介绍Python中的try和finally和with方法
2015/05/05 Python
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python pandas库的安装和创建
2019/01/10 Python
python 读取修改pcap包的例子
2019/07/23 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
Python调用Windows命令打印文件
2020/02/07 Python
Python matplotlib可视化实例解析
2020/06/01 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
什么是TCP/IP
2014/07/27 面试题
大学共青团员个人自我评价
2014/04/16 职场文书
迟到检讨书
2015/01/26 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL