for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace HnrAzevedo\Router;
use Psr\Http\Server\RequestHandlerInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use HnrAzevedo\Http\Response;
trait MiddlewareTrait
{
use Helper;
protected static array $globalMiddlewares = [];
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
$handler
If this is a false-positive, you can also ignore this issue in your code via the ignore-unused annotation
ignore-unused
public function process(ServerRequestInterface $request, /** @scrutinizer ignore-unused */ RequestHandlerInterface $handler): ResponseInterface
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
$request
public function process(/** @scrutinizer ignore-unused */ ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
return new Response();
}
public static function globalMiddlewares(array $middlewares): RouterInterface
foreach($middlewares as $middleware){
if(!class_exists($middleware)){
throw new \RuntimeException("Middleware class {$middleware} not exists");
self::getInstance()->middlewares = $middlewares;
middlewares
return self::getInstance();
public static function middleware($middlewares): RouterInterface
$middlewares = (is_array($middlewares)) ? $middlewares : [ $middlewares ];
$route = self::getInstance()->inSave();
$route['middlewares'] = (is_array($route['middlewares'])) ? array_merge($route['middlewares'],$middlewares) : $middlewares;
self::getInstance()->updateRoute($route,array_key_last(self::getInstance()->routes));
routes
HnrAzevedo\Router\Router
private static function existMiddleware(string $name): void
if(!class_exists($name) && !array_key_exists($name,self::$globalMiddlewares)){
throw new \RuntimeException("Middleware {$name} does not exist");
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.