<?php
class Prnt {
public function __construct() {
echo 'In Prnt';
}
}
class A extends Prnt {
public function __construct() {
echo 'In A';
}
}
class B extends A {
public function __construct() {
echo 'In B' . PHP_EOL;
$reflection = new ReflectionClass(self::class);
$parent = $reflection->getParentClass();
while ($parent->getParentClass()) {
$parent = $parent->getParentClass();
}
$class = $parent->getName();
$class::__construct();
}
}
new B();
PD9waHAKCmNsYXNzIFBybnQgewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKICAgIGVjaG8gJ0luIFBybnQnOwogIH0KfQoKY2xhc3MgQSBleHRlbmRzIFBybnQgewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKICAgIGVjaG8gJ0luIEEnOwogIH0KfQoKY2xhc3MgQiBleHRlbmRzIEEgewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKICAgIGVjaG8gJ0luIEInIC4gUEhQX0VPTDsKICAgIAogICAgJHJlZmxlY3Rpb24gPSBuZXcgUmVmbGVjdGlvbkNsYXNzKHNlbGY6OmNsYXNzKTsKICAgICRwYXJlbnQgPSAkcmVmbGVjdGlvbi0+Z2V0UGFyZW50Q2xhc3MoKTsKICAgIHdoaWxlICgkcGFyZW50LT5nZXRQYXJlbnRDbGFzcygpKSB7CiAgICAJJHBhcmVudCA9ICRwYXJlbnQtPmdldFBhcmVudENsYXNzKCk7CiAgICB9CiAgCSRjbGFzcyA9ICRwYXJlbnQtPmdldE5hbWUoKTsKICAgICRjbGFzczo6X19jb25zdHJ1Y3QoKTsKICB9Cn0KCm5ldyBCKCk7