3v4l.org

run code in 500+ PHP versions simultaneously
<?php trait ExpectsFooMethod { abstract public function foo(): string; } trait ProvidesFooMethod { use ExpectsFooMethod; public function foo(): string {} } final readonly class FooMethodImpl { use ProvidesFooMethod; }
Output for 8.2.28 - 8.2.32, 8.3.5 - 8.3.33, 8.4.5 - 8.4.24, 8.5.0 - 8.5.9
Output for 8.1.34
Parse error: syntax error, unexpected token "readonly", expecting "abstract" or "final" or "class" in /in/O5lIe on line 15
Process exited with code 255.

preferences:
52.35 ms | 684 KiB | 4 Q