3v4l.org

run code in 500+ PHP versions simultaneously
<?php interface SomeInterface { } abstract class FooClass { } abstract class FooBarClass extends FooClass { } abstract class LightAbstract { public function returnArgument(FooClass $arg) { return $arg; } } // OK class RedLight extends LightAbstract { public function returnArgument(FooBarClass $arg) { return parent::returnArgument($arg); } } // Outputs an error (E_STRICT) class BlueLight extends LightAbstract implements SomeInterface { public function returnArgument(FooBarClass $arg) { return parent::returnArgument($arg); } }
Output for 5.6.0 - 5.6.24
Strict Standards: Declaration of RedLight::returnArgument() should be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 30 Strict Standards: Declaration of BlueLight::returnArgument() should be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 33
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33
Warning: Declaration of RedLight::returnArgument(FooBarClass $arg) should be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 30 Warning: Declaration of BlueLight::returnArgument(FooBarClass $arg) should be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 33
Output for 7.4.0 - 7.4.33
Warning: Declaration of RedLight::returnArgument(FooBarClass $arg) should be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 26 Warning: Declaration of BlueLight::returnArgument(FooBarClass $arg) should be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 35
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.34, 8.3.0 - 8.3.35, 8.4.1 - 8.4.18
Fatal error: Declaration of RedLight::returnArgument(FooBarClass $arg) must be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 26
Process exited with code 255.
Output for 8.5.0 - 8.5.3
Fatal error: Declaration of RedLight::returnArgument(FooBarClass $arg) must be compatible with LightAbstract::returnArgument(FooClass $arg) in /in/UrWkU on line 26 Stack trace: #0 {main}
Process exited with code 255.

preferences:
27.89 ms | 1151 KiB | 14 Q