我有一个父类:
Abstract Class Base {
function __construct($registry) {
// stuff
}
}
然后,我至少有2个类扩展该类
class Cms extends Base {
// a few functions here
}
还有这个
class Index extends Base {
// a few functions here
}
对于CMS类,用户需要登录.会话已经启动,我想通过使用会话var来检查用户是否已登录.所以我想做的是:
class Cms extends Base {
function __construct()
{
// check the user session is valid
}
// a few functions here
}
但是当然会覆盖父构造类及其设置的所有内容.有没有办法可以在子类中定义__construct()类型的方法?
解决方法:
从子构造函数中,您可以调用父项的构造函数:
class Cms extends Base {
function __construct()
{
parent::__construct();
// check the user session is valid
}
// a few functions here
}
Note: Parent constructors are not
called implicitly if the child class
defines a constructor.
In order
to run a parent constructor, a call to
parent::__construct() within the
child constructor is required.
标签:php,class
来源: https://codeday.me/bug/20190714/1457257.html