for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Jupitern\Table;
class Properties
{
private $properties;
public function add($property, $value)
$this->properties[$property] = $value;
return $this;
}
public function addAll($properties)
if (is_array($properties)) {
$this->properties = array_merge((array)$this->properties, $properties);
public function render($template, $context = null)
$output = '';
foreach ((array)$this->properties as $prop => $val) {
$val = $this->getValue($val, $context);
$output .= str_replace(['{prop}', '{val}'], [$prop, $val], $template);
return $output;
public function getValue($value, $context)
$val = "";
$val
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
if (is_callable($value)) {
$val = $value($context);
} else {
$val = $value;
return $val;
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.