3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface Request{ public function getUri(); } class MyRequest implements Request { public function getUri() { return $_SERVER[REQUEST_URI]; // don't say a word } } class Router { protected Request $request; public function setRequest(Request $request) { $this->request = $request; } public function route() { $this->request->getUri(); // ... // return stuff; } public function route() { $this->request->getUri(); // ... // return stuff; } } // Will blow up here if checked after constructor $router = new Router; if (/*some coditional not always true*/) { $router->setRequest($request); } // Will blow up here otherwise $route->route()
Output for 5.5.0 - 5.5.33, 5.6.0 - 5.6.19, 7.0.0 - 7.0.4
Parse error: syntax error, unexpected 'Request' (T_STRING), expecting variable (T_VARIABLE) in /in/JHiQh on line 16
Process exited with code 255.

preferences:
156.71 ms | 998 KiB | 7 Q