<?php
class X {
static function bar($x) {
echo "X::bar() with x = $x\n";
}
}
class Y extends X {
static function bar() {
echo "Y::bar()\n";
}
}
echo "Static dispatch:\n";
X::bar(1);
Y::bar();
echo "Dynamic dispatch of a static method (surprise!):\n";
$arr = array(new X(), new Y());
foreach ($arr as $a) {
$a::bar(1);
}
Fatal error: Declaration of Y::bar() must be compatible with X::bar($x) in /in/phAWB on line 9
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Warning: Declaration of Y::bar() should be compatible with X::bar($x) in /in/phAWB on line 9
Static dispatch:
X::bar() with x = 1
Y::bar()
Dynamic dispatch of a static method (surprise!):
X::bar() with x = 1
Y::bar()
Warning: Declaration of Y::bar() should be compatible with X::bar($x) in /in/phAWB on line 12
Static dispatch:
X::bar() with x = 1
Y::bar()
Dynamic dispatch of a static method (surprise!):
X::bar() with x = 1
Y::bar()
Strict Standards: Declaration of Y::bar() should be compatible with X::bar($x) in /in/phAWB on line 12
Static dispatch:
X::bar() with x = 1
Y::bar()
Dynamic dispatch of a static method (surprise!):
X::bar() with x = 1
Y::bar()
Output for 5.3.0 - 5.3.29
Strict Standards: Declaration of Y::bar() should be compatible with that of X::bar() in /in/phAWB on line 12
Static dispatch:
X::bar() with x = 1
Y::bar()
Dynamic dispatch of a static method (surprise!):
X::bar() with x = 1
Y::bar()
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Strict Standards: Declaration of Y::bar() should be compatible with that of X::bar() in /in/phAWB on line 12
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /in/phAWB on line 21
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Strict Standards: Declaration of Y::bar() should be compatible with that of X::bar() in /in/phAWB on line 12
Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /in/phAWB on line 21
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/phAWB on line 4
Process exited with code 255.
Parse error: parse error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/phAWB 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/phAWB on line 4
Process exited with code 255.