ThinkPHP3.2.2的插件控制器功能简述
author:一佰互联 2019-04-29   click:174

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 HomeAddonSystemInfoController;
 class InfoController extends ThinkController{
  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

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