for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Bardex\Elastic;
class MultiQuery
{
/**
* @var \Elasticsearch\Client $client
*/
protected $elastic;
protected $queryList = [];
* Логгер
* @var \Psr\Log\LoggerInterface $logger
protected $logger;
public function __construct(\Elasticsearch\Client $elastic)
$this->elastic = $elastic;
$this->logger = new \Psr\Log\NullLogger;
}
* @param Query $query
* @return $this
public function addQuery( Query $query ) {
$this->queryList[] = $query;
return $this;
public function fetchAll()
$query = $this->getQuery();
$rows = $this->elastic->msearch($query);
$rows
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
public function getQuery()
$params = ['body' => []];
foreach ($this->queryList as $query)
$query = $query->getQuery();
$params['body'][] = [
'index' => $query['index'],
'type' => $query['type'],
];
if (!empty($query['body']['query']))
'query' => $query['body']['query'],
return $params;
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.