/** * Run the task. * * @param array &$options Additional options. * * @return integer Number of errors. */ public function run(&$options) { require 'PHPDCD/Autoload.php'; $facade = new File_Iterator_Facade(); $result = $facade->getFilesAsArray(array(realpath($this->_config->getPath())), array('php'), array(), array(), true); $files = $result['files']; $commonPath = $result['commonPath']; $detector = new PHPDCD_Detector(new \ezcConsoleOutput()); $result = $detector->detectDeadCode($files, true); $printer = new PHPDCD_TextUI_ResultPrinter(); $printer->printResult($result, $commonPath); }
/** * Main method. */ public function main() { $input = new ezcConsoleInput(); $output = new ezcConsoleOutput(); $input->registerOption(new ezcConsoleOption('', 'exclude', ezcConsoleInput::TYPE_STRING, array(), TRUE)); $input->registerOption(new ezcConsoleOption('h', 'help', ezcConsoleInput::TYPE_NONE, NULL, FALSE, '', '', array(), array(), FALSE, FALSE, TRUE)); $input->registerOption(new ezcConsoleOption('', 'recursive', ezcConsoleInput::TYPE_NONE)); $input->registerOption(new ezcConsoleOption('', 'suffixes', ezcConsoleInput::TYPE_STRING, 'php', FALSE)); $input->registerOption(new ezcConsoleOption('v', 'version', ezcConsoleInput::TYPE_NONE, NULL, FALSE, '', '', array(), array(), FALSE, FALSE, TRUE)); $input->registerOption(new ezcConsoleOption('', 'verbose', ezcConsoleInput::TYPE_NONE)); try { $input->process(); } catch (ezcConsoleOptionException $e) { print $e->getMessage() . "\n"; exit(1); } if ($input->getOption('help')->value) { $this->showHelp(); exit(0); } else { if ($input->getOption('version')->value) { $this->printVersionString(); exit(0); } } $arguments = $input->getArguments(); if (empty($arguments)) { $this->showHelp(); exit(1); } $excludes = $input->getOption('exclude')->value; $recursive = $input->getOption('recursive')->value; $suffixes = explode(',', $input->getOption('suffixes')->value); array_map('trim', $suffixes); if ($input->getOption('verbose')->value !== FALSE) { $verbose = $output; } else { $verbose = NULL; } $this->printVersionString(); $files = $this->findFiles($arguments, $excludes, $suffixes); if (empty($files)) { $this->showError("No files found to scan.\n"); } $detector = new PHPDCD_Detector($verbose); $result = $detector->detectDeadCode($files, $recursive); $printer = new PHPDCD_TextUI_ResultPrinter(); $printer->printResult($result, $commonPath); unset($printer); }