对不起,对于措辞严重的标题。我不太了解面向对象的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
是一个子类,所以,我认为,构造函数替换父的构造上课,我不希望这种情况发生。那么,当customfoo
第一次启动时,我该如何创建一个类customclass
?我猜,我可以只写一个任意函数并通过其他函数调用它(我确信它会在早期执行),但至少知道如何执行上述操作会很好。
在PHP类的构造函数是'__construct ()'。使用与类的名称相同的函数作为构造函数将被折旧并且仅用于向后兼容性。你不应该再使用它。 – vascowhite
@vascowhite是的,我不打算。我正在编写的代码已经是这样写的,所以我下意识地复制了它。 – zermy
http://www.php.net/manual/en/keyword.parent.php这可能会有所帮助 – suenda