<?php
class a {
protected static $foo = array();
public static function foo(){
var_dump(self::$foo);
}
public static function bar(){
self::$foo[] = 'foo';
}
}
class b extends a{
public static function foo(){
self::$foo[] = 'bar';
}
}
a::foo();
a::bar();
a::foo();
b::foo();
a::foo();
var_dump(b);
array(0) {
}
array(1) {
[0]=>
string(3) "foo"
}
array(2) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
}
Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/grXFW on line 26
string(1) "b"
array(0) {
}
array(1) {
[0]=>
string(3) "foo"
}
array(2) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
}
Notice: Use of undefined constant b - assumed 'b' in /in/grXFW on line 26
string(1) "b"
Output for 5.0.0 - 5.0.4
array(0) {
}
array(1) {
[0]=>
string(3) "foo"
}
array(1) {
[0]=>
string(3) "foo"
}
Notice: Use of undefined constant b - assumed 'b' in /in/grXFW on line 26
string(1) "b"
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/grXFW on line 3
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/grXFW on line 3
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/grXFW on line 3
Process exited with code 255.