我想摧毀一個對象和實習對象。爲什麼下面的例子不工作:摧毀主要對象時銷燬嵌入對象
<?php
class I
{
public $elt = 'hello world!!';
public function __destruct()
{
var_dump('I: destroyed');
}
}
class A
{
public $val1=1;
public $val2=2;
public $val3=3;
public $val4=4;
public $i;
public function __construct($i)
{
$this->i = $i;
}
public function __destruct()
{
var_dump('A destroyed');
unset($this->i);
}
}
$i = new I();
$a = new A($i);
unset($a);
var_dump($i);
OUTPUT:
string(11) "A destroyed"
object(I)#1 (1) { ["elt"]=> string(13) "hello world!!" }
string(12) "I: destroyed"
爲什麼我沒有得到通知Undefined variable: i
? 在$ i的var_dump之後,如何顯示類I的析構函數的消息?
UPDATE
的事情是,我有一個主對象,這個對象有吹掃/在循環的每次迭代結束刷新其嵌套的對象。
請注意,刪除嵌套對象並不是必需的。在腳本結尾處,對象將被自動刪除。 – 2014-12-02 11:05:54
其實我必須這樣做,因爲我的主要對象是在一個循環內部使用的,而且我需要清除所有嵌套的對象 – smarber 2014-12-02 11:08:48
而且在清除嵌套對象之後是否還想使用主對象? – 2014-12-02 11:11:12