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