<?php
class A {
private $messageA = "A::bar()\n";
public function bar() {
print(messageA);
C::f();
}
}
class B extends A {
public function foo() {
print("B::foo()\n");
A::bar();
}
}
class C extends B {
private $messageC = "C::f()\n";
public function f() {
print(messageC);
}
}
$obj = new C;
$obj->foo();
B::foo()
Warning: Use of undefined constant messageA - assumed 'messageA' (this will throw an Error in a future version of PHP) in /in/5vt5a on line 6
messageA
Warning: Use of undefined constant messageC - assumed 'messageC' (this will throw an Error in a future version of PHP) in /in/5vt5a on line 21
messageC
B::foo()
Notice: Use of undefined constant messageA - assumed 'messageA' in /in/5vt5a on line 6
messageA
Notice: Use of undefined constant messageC - assumed 'messageC' in /in/5vt5a on line 21
messageC
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/5vt5a on line 4
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/5vt5a on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/5vt5a on line 4
Process exited with code 255.