for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Yoanm\BehatUtilsExtension\ServiceContainer\Configuration;
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
class StepLoggerConfiguration
{
/**
* @return NodeDefinition
*/
public function getConfigTreeBuilder()
$castToBool = function ($value) {
$castToBool
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
$filtered = filter_var(
$value,
FILTER_VALIDATE_BOOLEAN,
FILTER_NULL_ON_FAILURE
);
return (null === $filtered) ? (bool) $value : $filtered;
};
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('step_logger');
$rootNode
->addDefaultsIfNotSet()
->treatFalseLike(array('enabled' => false))
->treatNullLike(array('enabled' => false))
->treatTrueLike(array('enabled' => true))
->children()
->booleanNode('enabled')
->defaultFalse()
;
return $rootNode;
}
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.