/** * @param InputInterface $input * @param OutputInterface $output * @return int|null|void */ public function execute(InputInterface $input, OutputInterface $output) { $report = new Report(array('show-source' => $input->getOption('show-source'))); $magniffer = new Magniffer($this->getFileIterator($input->getArgument('path'), array('php', 'xml'))); $patterns = $this->preparePatterns($input->getOption('patterns-dir')); $magniffer->addInspector(new InspectorXml($patterns['xml'], $report))->addInspector(new InspectorPhp($patterns['php'], $report, $input->getOption('print-tree')))->runInspection(); $report->render($output); }