ThinkPHP3.2.2的插件控制器功能

时间:2021-08-07 19:36:12

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版本。后续将会做出一些细节的调整,包括定义插件位置等等。
更多的用法,请参考后续的详细手册内容。