В PHP родительские конструкторы не вызываются автоматически, чтобы получить ваше поведение, вам нужно сделать следующее:
Class ClassB extends ClassA {
function __construct() {
parent::__construct();
$this->property[] = "ClassB.construct";
}
function SetB() {
$this->property[] = "ClassB.Set";
}
}
И, самое большее, вы получите это
Array
(
[0] => ClassA.construct
[2] => ClassB.construct
[3] => ClassB.Set
)
как SetA()
никогда не вызывается
Когда вы вызывали описанную вами последовательность, $classA
и $classB
- это два разных случая, поэтому вы никогда не получите того, что ожидаете.
Чтобы получить то, что вы хотите, вам нужно сделать следующее:
$classB = new ClassB();
$classB->SetB();
$classB->SetA();
print_r($classB->property);