ThinkPHP從3.2.2版本開(kāi)始支持插件控制器的調(diào)用,可以通過(guò)更加方便的URL地址訪(fǎng)問(wèn)到模塊中某個(gè)插件定義的控制器。
當(dāng)URL中傳入插件控制器變量的時(shí)候,會(huì)自動(dòng)定位到插件控制器中的操作方法。
插件控制器的變量由參數(shù) VAR_ADDON 進(jìn)行設(shè)置,默認(rèn)為addon,例如我們?cè)赨RL中傳入:
1
|
http://serverName/Home/info/index/addon/SystemInfo |
由于傳入了addon參數(shù),因此這里的User控制器并非原來(lái)的
1
|
Home/Controller/InfoController.class.php |
而是調(diào)用SystemInfo插件(位于Home/Addon目錄下面)的InfoController控制器了,文件位于
1
|
Home/Addon/SystemInfo/Controller/InfoController.class.php |
插件控制器本身的定義和普通的訪(fǎng)問(wèn)控制器一樣,例如:
1
2
3
4
5
6
|
namespace Home\Addon\SystemInfo\Controller; class InfoController extends \Think\Controller{ public function index(){ echo 'Addon SystemInfo' ; } } |
這樣,我們?cè)谠L(fǎng)問(wèn)
1
|
http://serverName/Home/info/index/addon/SystemInfo |
的時(shí)候 就會(huì)輸出
1
|
Addon SystemInfo |
如果我們的插件目錄不是Addon,而是Plugin,那么需要在配置文件中定義:
1
|
'VAR_ADDON' => 'plugin' |
然后訪(fǎng)問(wèn)URL地址就變成了
1
|
http://serverName/Home/info/index/plugin/SystemInfo |
需要注意的是:目前插件控制器僅支持模塊的插件控制器訪(fǎng)問(wèn),尚不支持全局的公共插件。