3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Base { public static function create(): Parent { return new Parent; } } class Child extends Base { public static function create(): Child { return new Child; } } var_dump(Child::create());
Output for 8.5.0 - 8.5.3
Fatal error: Cannot use "parent" when current class scope has no parent in /in/lQP6o on line 5 Stack trace: #0 {main}
Process exited with code 255.
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18
Fatal error: Cannot use "parent" when current class scope has no parent in /in/lQP6o on line 5
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Deprecated: Cannot use "parent" when current class scope has no parent in /in/lQP6o on line 5 Deprecated: Cannot use "parent" when current class scope has no parent in /in/lQP6o on line 7 Fatal error: Could not check compatibility between Child::create(): Child and Base::create(): Parent, because class Parent is not available in /in/lQP6o on line 13
Process exited with code 255.
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33
Fatal error: Declaration of Child::create(): Child must be compatible with Base::create(): Parent in /in/lQP6o on line 17
Process exited with code 255.
Output for 5.6.0 - 5.6.40
Parse error: syntax error, unexpected ':', expecting ';' or '{' in /in/lQP6o on line 5
Process exited with code 255.

preferences:
79.6 ms | 1987 KiB | 4 Q