for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace DICIT\Util;
use DICIT\Container;
class ParamsResolver
{
/**
* Resolve the params of an array
*
* @param array $params
* @return array
*/
public static function resolveParams(Container $container, $params)
$resolvedParams = array();
foreach($params as $key=>$param) {
$resolvedParam = null;
$resolvedParam
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_array($param)) {
$resolvedParam = self::resolveParams($container, $param);
} else if (is_string($param)){
$resolvedParam = $container->resolve($param);
} else {
$resolvedParam = $param;
}
$resolvedParams[$key] = $resolvedParam;
return $resolvedParams;
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.