gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 23:57:55 25 4
gpt4 key购买 nike

我有一个父类:

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 类,用户需要登录。 session 已经启动,我想使用 session 变量检查用户是否登录。所以我想做的是:

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.

关于php - 扩展类是否有 __construct() 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com