3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Sett\Specification\Http { interface StatusInterface { public function __construct ( int $code = 200, string $message = '' ); public function getCode () : int; public function getMessage () : string; public function __toString () : string; } } namespace Sett\Implementation\Http { use Sett\Specification\Http\StatusInterface; class Status implements StatusInterface { protected $code = 200; protected $message = ''; public function __construct ( int $code = 200, string $message = '' ) { $this->code = $code; $this->message = $message; } public function getCode () : int { return $this->code; } public function getMessage () : string { return $this->message; } public function __toString () { return "{$this->code} {$this->message}"; } } echo new \Sett\Implementation\Http\Status(404, "Not found"); }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
404 Not found
Output for 7.4.0 - 7.4.33
Fatal error: Declaration of Sett\Implementation\Http\Status::__toString() must be compatible with Sett\Specification\Http\StatusInterface::__toString(): string in /in/0erbH on line 39
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 Sett\Implementation\Http\Status::__toString() must be compatible with Sett\Specification\Http\StatusInterface::__toString(): string in /in/0erbH on line 19
Process exited with code 255.
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Default value for parameters with a class type hint can only be NULL in /in/0erbH on line 4
Process exited with code 255.

preferences:
269.41 ms | 402 KiB | 369 Q