加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 扩展类是否有__construct()等价物

发布时间:2020-12-13 22:12:14 所属栏目:PHP教程 来源:网络整理
导读:我有一个父类: 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类,用户需要
我有一个父类:

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
}

请参阅本手册Constructors and Destructors页上的示例和注释(引用):

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读