for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace WITR\Services;
use stdClass;
use Illuminate\Support\Collection;
use GuzzleHttp\Client;
class IcecastReader
{
protected $hostname;
protected $credentials;
protected $mounts;
public function __construct($hostname, $credentials, $mounts)
$this->hostname = $hostname;
$this->credentials = $credentials;
$this->mounts = $mounts;
}
public function getMounts()
return $this->mounts;
public function get($studio)
$results = new Collection;
$results
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
$client = new Client();
$listeners = IcecastListeners::forMounts($this->mounts[$studio]);
foreach ($this->mounts[$studio] as $mount)
$response = $client->get($this->hostname . '/admin/listclients?mount=/'. $mount, [
'auth' => $this->credentials
]);
$xml = simplexml_load_string($response->getBody())->source->listener;
foreach ($xml as $node)
$listener = new stdClass;
$listener->hostname = gethostbyaddr($node->IP);
$listener->minutesConnected = round($node->Connected / 60);
$listener->userAgent = $node->UserAgent;
$listener->mount = $mount;
$listeners->push($listener);
return $listeners;
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
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.