for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Mpociot\ApiDoc\Tools;
use Illuminate\Routing\Route;
use Mpociot\ApiDoc\Tools\ResponseStrategies\ResponseTagStrategy;
use Mpociot\ApiDoc\Tools\ResponseStrategies\ResponseCallStrategy;
use Mpociot\ApiDoc\Tools\ResponseStrategies\TransformerTagsStrategy;
class ResponseResolver
{
public static $strategies = [
ResponseTagStrategy::class,
TransformerTagsStrategy::class,
ResponseCallStrategy::class,
];
/**
* @var Route
*/
private $route;
public function __construct(Route $route)
$this->route = $route;
}
private function resolve(array $tags, array $rulesToApply)
$response = null;
$response
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
$myVar = 'Value'; $higher = false; if (rand(1, 6) > 3) { $higher = true; } else { $higher = false; }
Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.
$myVar
$higher
foreach (static::$strategies as $strategy) {
$strategy = new $strategy();
$response = $strategy($this->route, $tags, $rulesToApply);
if (!is_null($response)) {
return $this->getResponseContent($response);
public static function getResponse($route, $tags, $rulesToApply)
return (new static($route))->resolve($tags, $rulesToApply);
* @param $response
*
* @return mixed
private function getResponseContent($response)
return $response ? $response->getContent() : '';
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVarassignment in line 1 and the$higherassignment in line 2 are dead. The first because$myVaris never used and the second because$higheris always overwritten for every possible time line.