<?php class A { private $a = 1; } class B extends A { private $a = 2; } class C extends B { public $a = 3; } class D extends C { public $a = 4; }
Standard input is empty
object(A)#1 (1) { ["a":"A":private]=> int(1) } object(B)#1 (2) { ["a":"B":private]=> int(2) ["a":"A":private]=> int(1) } object(C)#1 (3) { ["a"]=> int(3) ["a":"B":private]=> int(2) ["a":"A":private]=> int(1) } object(D)#1 (3) { ["a"]=> int(4) ["a":"B":private]=> int(2) ["a":"A":private]=> int(1) }