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

时间:2022-09-14 14:34:15

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

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

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

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

由于传入了addon参数,因此这里的User控制器并非原来的

?
1
Home/Controller/InfoController.class.php

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

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

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

?
1
2
3
4
5
6
namespace Home\Addon\SystemInfo\Controller;
 class InfoController extends \Think\Controller{
  public function index(){
    echo 'Addon SystemInfo';
  }
 }

这样,我们在访问

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

的时候 就会输出

?
1
Addon SystemInfo

如果我们的插件目录不是Addon,而是Plugin,那么需要在配置文件中定义:

?
1
'VAR_ADDON'  =>  'plugin'

然后访问URL地址就变成了

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

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