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
需要注意的是:目前插件控制器僅支持模塊的插件控制器訪問,尚不支持全局的公共插件。