Addon.php位于applicaton/common/controller下。此控制器基类是所有应用安装目录addons/ 下所有控制器的最终父类,它定义所有应用控制器的公共成员变量和方法。其结构如下:
namespace app\common\controller;
class Addon extends BaseCtl
{
protected $addonName;//应用名称
protected $addonModule; //模块
protected $addonController; //控制器
protected $addonAction; //操作
protected $theme; //视图皮肤
protected $addonInfoByDb;//应用配置已保存的信息
protected $addonInfoByFile;//应用配置Config文件信息
protected $addonRoot;//应用的根目录
protected $addonM; //addons模型
protected $mid; //公众号id或小程序id
protected $mpAddon; //公众号或小程序关联信息
public function initialize()
{
parent::initialize(); // TODO: Change the autogenerated stub
$this->setMid();
$this->addonM = model('common/addons');
$this->addonName = strtolower($this->request->param('addon'));
$this->addonModule = strtolower($this->request->param('module'));
$this->addonController = strtolower($this->request->param('col'));
$this->addonAction = strtolower($this->request->param('act'));
$this->setAddonInfo();
$this->setMpAddon();
$this->addonRoot = ADDON_PATH . $this->addonName . '/';
session('addonName', $this->addonName);
}
/**
* 设置公众号/小程序 ID
* Author: fudaoji<fdj@kuryun.cn>
*/
protected function setMid(){}
/**
* 设置公众号(小程序)与应用关联信息
* Author: fudaoji<fdj@kuryun.cn>
*/
protected function setMpAddon(){}
/**
* 设置应用信息
* Author: fudaoji<fdj@kuryun.cn>
*/
protected function setAddonInfo(){}
/**
* 统一视图,因为应用所在目录不同于普通模块,因此视图定义方式要单独处理
* @param array $vars
* @param string $template
* @return mixed|void
* Author: fudaoji<fdj@kuryun.cn>
*/
public function show($vars = [], $template = ''){}
}