對不起,對於措辭嚴重的標題。我不太瞭解面向對象的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