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 = ''){} }