3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Sett\Specification\Http { interface StatusInterface { public function __construct ( int $code = 200, string $message = '' ) : this; 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.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Fatal error: Method Sett\Specification\Http\StatusInterface::__construct() cannot declare a return type in /in/UR3Xg on line 3
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Fatal error: Declaration of Sett\Implementation\Http\Status::__construct(int $code = 200, string $message = '') must be compatible with Sett\Specification\Http\StatusInterface::__construct(int $code = 200, string $message = ''): Sett\Specification\Http\this in /in/UR3Xg on line 23
Process exited with code 255.
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.33
Fatal error: Declaration of Sett\Implementation\Http\Status::__construct(int $code = 200, string $message = '') must be compatible with Sett\Specification\Http\StatusInterface::__construct(int $code = 200, string $message = ''): Sett\Specification\Http\this in /in/UR3Xg on line 19
Process exited with code 255.
Output for 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
Fatal error: Default value for parameters with a class type hint can only be NULL in /in/UR3Xg on line 4
Process exited with code 255.

preferences:
219.83 ms | 402 KiB | 228 Q