for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Knp\Rad\User\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Exception\OutOfBoundsException;
class PasswordGenerator implements CompilerPassInterface
{
const GENERATOR_INDEX = 0;
public function process(ContainerBuilder $container)
if ( ! extension_loaded('openssl')) {
return;
}
$listener = $container->findDefinition('knp_rad_user.event_listener.persistence.password_generation_listener');
try {
$generator = $listener->getArgument(self::GENERATOR_INDEX);
$generator
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
} catch (OutOfBoundsException $e) {
$sslGenerator = $container->findDefinition('knp_rad_user.password.generator.pseudo_random_bytes_generator');
$listener->setArguments([$sslGenerator]);
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.