class D1 { private function foo() { echo "D1::foo " . (isset($this) ? "true\n" : "false\n"); } public function test() { D1::foo(); } } class E1 extends D1 { } $e1 = new E1(); $e1->test(); // Outputs 'D1:foo true' class D2 { private function foo() { echo "D2::foo " . (isset($this) ? "true\n" : "false\n"); } public function test() { F2::foo(); } } class E2 extends D2 { }
function main1() { $e1 = new E1(); $e1->test(); // Outputs 'D1:foo true' }