2012-05-08 25 views

回答

2

關於__construct(),它使您可以使用新創建的對象來完成一些操作,以覆蓋父類的__construct()方法。

因此它可能不是必需的,但是如果一個類擴展了另一個類,可能需要添加一個構造函數來避免自動調用父構造函數。

+0

謝謝你的簡單解釋,那麼__destruct()怎麼樣,你能用簡單的方式來描述嗎? – user1383080

+0

@ user1383080對'__destruct()'我沒有那麼多用處,它在你銷燬你的對象時做它告訴它做的事情,在我的情況下幾乎總是當腳本結束時,當我不想要時反正做任何事情...... – jeroen

2

他們不是必需的。 構造函數在初始化時調用,即創建/構造對象時。 毀壞被稱爲清理。

實施例:

class Foo 
{ 
    function __construct() 
    { 
     echo "start"; 
    } 

    function __destruct() 
    { 
     echo "end"; 
    } 
} 

$foo = new Foo(); // outputs start 
echo ' : '; 
unset($foo); // outputs end 
echo ' ! '; 

上面的片段輸出start : end !。如果清理時,我們不使用unset析構函數仍然會在腳本的末尾被調用,輸出將被:start : ! end

鏈接

http://php.net/manual/en/language.oop5.decon.php

+0

顯示錯誤的輸出。 –

+0

@ArshadHussain應該爲你工作。試試這裏的代碼片段:http://writecodeonline.com/php/ – superhero

+0

當我們不使用unset($ foo)時,輸出「end」也會發生; –

0

我對結構最常見的用法是將類變量初始化爲默認值。儘管如此,我還沒有必要使用破壞。

相關問題