3v4l.org

run code in 200+ PHP versions simultaneously
<?php interface ILog { public function log(string $message, ... $args) : void; } class Foo { public function __construct(ILog $logger) { $this->logger = $logger; } public function thing() { $this->logger->log("thing"); } } $logger = function (string $message, ... $args) implements ILog : void { printf("{$message}\n", ... $args); }; $foo = new Foo($logger); $foo->thing(); $logger("next thing");

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for Typed properties v2
Parse error: syntax error, unexpected 'implements' (T_IMPLEMENTS), expecting '{' in /in/mOJXI on line 16
Process exited with code 255.
Output for Lexical anon
Parse error: syntax error, unexpected 'implements' (T_IMPLEMENTS), expecting '{' in /in/mOJXI on line 16
Process exited with code 255.

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page