抱歉,标题错误。我不太了解面向对象的PHP,所以,我无法想出一个更好的标题(或者我的问题的答案!)。
好的,我有类似的东西:
Class foo{
var $hello;
function foo(){
}
}
Class customfoo extends foo{
//No Constructor
}
现在,我写了另一个类,我们称之为customclass
,我想在customfoo
类中使用它。但是,我不只是想在customfoo
类中使用它,我希望在创建customfoo
类后立即创建它。
通常,我认为,你只需要使用构造函数,例如:
Class customfoo extends foo{
var $custom;
function customfoo(){
$this->custom = new customclass();
}
}
但是,customfoo
是一个子类,所以,我认为构造函数会替换父类的构造函数,我不希望这种情况发生。那么,如何在customclass
首次启动时创建课程customfoo
?我想,我可以写一个任意函数并通过其他函数调用它(我确信它会在早期执行),但至少知道如何执行上述操作会很好。
答案 0 :(得分:3)
首先,您应该将您的counstructors命名为__construct
。
正如您所指出的,您编写的构造函数将覆盖父级的构造函数,但您始终可以从子类中调用它,如下所示:
Class customfoo extends foo{
var $custom;
function __construct(){
parent::__construct();
$this->custom = new customclass();
}
}