有人可以解释为什么父类析构函数被调用两次吗?我的印象是子类只能通过使用来调用父类的析构函数: parent::__destruct()
class test {
public $test1 = "this is a test of a pulic property";
private $test2 = "this is a test of a private property";
protected $test3 = "this is a test of a protected property";
const hello = 900000;
function __construct($h){
//echo 'this is the constructor test '.$h;
}
function x($x2){
echo ' this is fn x'.$x2;
}
function y(){
print "this is fn y";
}
function __destruct(){
echo '<br>now calling the destructor<br>';
}
}
class hey extends test {
function hey(){
$this->x('<br>from the host with the most');
echo ' <br>from hey class'.$this->test3;
}
}
$obj = new test("this is an \"arg\" sent to instance of test");
$obj2 = new hey();
echo $obj2::hello;
/*
the result:
this is fn x
from the host with the most
from hey classthis is a test of a protected property900000
now calling the destructor
now calling the destructor
*/