建议官方的系统,将所有模块controller都继承统一的controller
待回答这样方便大家的扩展。
不要直接继承thinkphp的controller,否则在做需要进行全站统一的处理的时候,只能去改thinkphp的controller类。
看了一下opensns的代码,官方直接修改了thinkphp的controller基类。
/*OpenSNS新增部分*/ /**seo参数 陈一枭 OpenSNS * @var array */ public $_seo = array(); public function setTitle($title) { $this->_seo['title'] = $title; $this->assign('seo', $this->_seo); } public function setKeywords($keywords) { $this->_seo['keywords'] = $keywords; $this->assign('seo', $this->_seo); } public function setDescription($description) { $this->_seo['description'] = $description; $this->assign('seo', $this->_seo); } /*OpenSNS新增部分end*/
这样不好,这样会影响未来的thinkphp的平滑升级。建议官方考虑。与thinkphp基础框架之间松耦合。在这儿方面thinksns做的就比较好。可以参考。
当然,也可以提供插件机制进行解决。
请登录后回答