PHPMD\TextUI\CommandLineOptions::createRenderer PHP Method

createRenderer() public method

Valid renderers are:
  • xml
  • html
  • text
public createRenderer ( string $reportFormat = null ) : PHPMD\AbstractRenderer
$reportFormat string
return PHPMD\AbstractRenderer
    public function createRenderer($reportFormat = null)
    {
        $reportFormat = $reportFormat ?: $this->reportFormat;
        switch ($reportFormat) {
            case 'xml':
                return $this->createXmlRenderer();
            case 'html':
                return $this->createHtmlRenderer();
            case 'text':
                return $this->createTextRenderer();
            default:
                return $this->createCustomRenderer();
        }
    }

Usage Example

Exemplo n.º 1
0
 /**
  * This method creates a PHPMD instance and configures this object based
  * on the user's input, then it starts the source analysis.
  *
  * The return value of this method can be used as an exit code. A value
  * equal to <b>EXIT_SUCCESS</b> means that no violations or errors were
  * found in the analyzed code. Otherwise this method will return a value
  * equal to <b>EXIT_VIOLATION</b>.
  *
  * @param \PHPMD\TextUI\CommandLineOptions $opts
  * @param \PHPMD\RuleSetFactory $ruleSetFactory
  * @return integer
  */
 public function run(CommandLineOptions $opts, RuleSetFactory $ruleSetFactory)
 {
     if ($opts->hasVersion()) {
         fwrite(STDOUT, sprintf('PHPMD %s', $this->getVersion()) . PHP_EOL);
         return self::EXIT_SUCCESS;
     }
     // Create a report stream
     $stream = $opts->getReportFile() ? fopen($opts->getReportFile(), 'wb') : STDOUT;
     // Create renderer and configure output
     $renderer = $opts->createRenderer();
     $renderer->setWriter(new StreamWriter($stream));
     $renderers = array($renderer);
     foreach ($opts->getReportFiles() as $reportFormat => $reportFile) {
         $reportRenderer = $opts->createRenderer($reportFormat);
         $reportRenderer->setWriter(new StreamWriter(fopen($reportFile, 'wb')));
         $renderers[] = $reportRenderer;
     }
     // Configure a rule set factory
     $ruleSetFactory->setMinimumPriority($opts->getMinimumPriority());
     if ($opts->hasStrict()) {
         $ruleSetFactory->setStrict();
     }
     $phpmd = new PHPMD();
     $phpmd->setOptions(array_filter(array('coverage' => $opts->getCoverageReport())));
     $extensions = $opts->getExtensions();
     if ($extensions !== null) {
         $phpmd->setFileExtensions(explode(',', $extensions));
     }
     $ignore = $opts->getIgnore();
     if ($ignore !== null) {
         $phpmd->setIgnorePattern(explode(',', $ignore));
     }
     $phpmd->processFiles($opts->getInputPath(), $opts->getRuleSets(), $renderers, $ruleSetFactory);
     if ($phpmd->hasViolations()) {
         return self::EXIT_VIOLATION;
     }
     return self::EXIT_SUCCESS;
 }