for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Reallyli\AB\Models;
use Illuminate\Support\Facades\Config;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Experiment extends Eloquent
{
protected $fillable = ['name', 'visitors', 'engagement'];
public function __construct(array $attributes = [])
parent::__construct($attributes);
// Set the connection based on the config.
$this->connection = Config::get('ab::connection');
}
public function goals()
return $this->hasMany('Reallyli\AB\Models\Goal', 'experiment', 'name');
public function scopeActive($query)
if ($experiments = Config::get('ab::experiments')) {
$experiments
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
return $query->whereIn('name', Config::get('ab::experiments'));
return $query;
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.