for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Buzz\Test\Unit\Middleware;
use Buzz\Middleware\LoggerMiddleware;
use Nyholm\Psr7\Request;
use Nyholm\Psr7\Response;
use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
use Psr\Log\LoggerTrait;
class LoggerMiddlewareTest extends TestCase
{
public function testLogger()
$that = $this;
// TODO Use PSR3 logger
$logger = new CallbackLogger(function ($level, $message, array $context) use ($that) {
$context
If this is a false-positive, you can also ignore this issue in your code via the ignore-unused annotation
ignore-unused
$logger = new CallbackLogger(function ($level, $message, /** @scrutinizer ignore-unused */ array $context) use ($that) {
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
$that->assertRegExp('~^Sent "GET http://google.com/" in \d+ms$~', $message);
});
$request = new Request('GET', 'http://google.com/');
$response = new Response();
$middleware = new LoggerMiddleware($logger);
$middleware->handleRequest($request, function () {});
$middleware->handleResponse($request, $response, function () {});
}
class CallbackLogger implements LoggerInterface
use LoggerTrait;
private $callback;
/**
* @param $callback
*/
public function __construct(callable $callback)
$this->callback = $callback;
public function log($level, $message, array $context = [])
$f = $this->callback;
$f($level, $message, $context);
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.