對象被銷毀時會調(diào)用析構(gòu)函數(shù),那是先銷毀再調(diào)用還是先調(diào)用再銷毀,是第二種這樣做有什么意義?還有這兩種函數(shù)中的print“”都沒有對象調(diào)用到那里去啊
<?php
class Car {
?function __construct() {
? ? ? ?print "構(gòu)造函數(shù)被調(diào)用 \n";
? ?}
function __destruct() {
? ? ? ?print “析構(gòu)函數(shù)被調(diào)用 \n”;
} ?
}
$car = new Car();
echo '使用后,準(zhǔn)備銷毀car對象 \n';
unset($car); //銷毀時會調(diào)用析構(gòu)函數(shù)
2017-07-29
先調(diào)用再銷毀,構(gòu)造函數(shù)是實例化時自動調(diào)用,析構(gòu)函數(shù)是對象銷毀時自動調(diào)用。
2018-03-26
1、看了其它問題的回答,發(fā)現(xiàn)析構(gòu)函數(shù)很有意義,比如可以用于游戲中,一個怪物被擊斃時,計算相對于的經(jīng)驗和金幣的增長。
2、你的代碼中,兩個print主要是為了展示這兩個函數(shù)確實被調(diào)用了,實際應(yīng)用中,肯定不是這么簡單的代碼。