3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface MiddlewareInterface { /** * Process a request and return a response. * * Takes the incoming request and optionally modifies it before delegating * to the next handler to get a response. May modify the response before * ultimately returning it. * * @param RequestInterface $request * @param ResponseInterface $response * @param callable $next * * @return ResponseInterface */ public function __invoke( RequestInterface $request, ResponseInterface $response, callable $next ); } interface ServerMiddlewareInterface extends MiddlewareInterface { /** * Process a request and return a response. * * Takes the incoming request and optionally modifies it before delegating * to the next handler to get a response. May modify the response before * ultimately returning it. * * @param RequestInterface $request * @param ResponseInterface $response * @param callable $next * * @return ResponseInterface */ public function __invoke( ServerRequestInterface $request, ResponseInterface $response, callable $next ); } class AcmeMiddleware implements ServerMiddlewareInterface { public function __invoke( ServerRequestInterface $request, ResponseInterface $response, callable $next ) { return $response; } }
Output for 7.4.0 - 7.4.10, 8.0.0alpha1 - beta3
Fatal error: Could not check compatibility between ServerMiddlewareInterface::__invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next) and MiddlewareInterface::__invoke(RequestInterface $request, ResponseInterface $response, callable $next), because class RequestInterface is not available in /in/fVPAV on line 40
Process exited with code 255.
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.21
Fatal error: Declaration of ServerMiddlewareInterface::__invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next) must be compatible with MiddlewareInterface::__invoke(RequestInterface $request, ResponseInterface $response, callable $next) in /in/fVPAV on line 25
Process exited with code 255.
Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.28
Fatal error: Declaration of ServerMiddlewareInterface::__invoke() must be compatible with MiddlewareInterface::__invoke(RequestInterface $request, ResponseInterface $response, callable $next) in /in/fVPAV on line 26
Process exited with code 255.