親クラスのデストラクタが2回呼び出される理由を誰かが説明できますか?子クラスは、以下を使用してのみ親のデストラクタを呼び出すことができるという印象を受けました: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
*/