在用ThinkPHP开发过程中,经常会创建一个CommonController的控制器来作为基类,而不是Controller直接作为基类,因为我们我可以灵活的在CommonController中添加一些设置,来让所有的子类都有这个属性和这方法,比如
我们可以在CommonController中的构造函数中__construct定义页面的编码方式,这样其他的控制器类在使用的时候也会使用定义的编码。
但是有时候我们在子类的控制器中写一些方法比如$this->assign('version’,'12');会提示不存在的方法,明明this就是类本身,怎么会不存在assign这个方法了呢,原来,我们在构造函数的写法中,需要子类继承父类的构造函数才能正确使用。
class CommonController extends Controller
{
public function __construct()
{
header("Content-type: text/html; charset=utf-8");
}
}
class NewsController extends CommonController
{
public function __construct()
{
//不写这句就会报错
parent::construct();
}
}
最后
以上就是聪慧金毛最近收集整理的关于控制器继承 php,ThinkPHP中,控制器继承中的construct的全部内容,更多相关控制器继承内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复