public function explainStandard($standard)
{
$phpcs = new PHP_CodeSniffer();
$phpcs->process(array(), $standard);
$sniffs = $phpcs->getSniffs();
$sniffs = array_keys($sniffs);
sort($sniffs);
ob_start();
$lastStandard = '';
$lastCount = '';
$sniffCount = count($sniffs);
$sniffs[] = '___';
echo PHP_EOL . "The {$standard} standard contains {$sniffCount} sniffs" . PHP_EOL;
ob_start();
foreach ($sniffs as $sniff) {
$parts = explode('_', str_replace('\\', '_', $sniff));
if ($lastStandard === '') {
$lastStandard = $parts[0];
}
if ($parts[0] !== $lastStandard) {
$sniffList = ob_get_contents();
ob_end_clean();
echo PHP_EOL . $lastStandard . ' (' . $lastCount . ' sniffs)' . PHP_EOL;
echo str_repeat('-', strlen($lastStandard . $lastCount) + 10);
echo PHP_EOL;
echo $sniffList;
$lastStandard = $parts[0];
$lastCount = 0;
ob_start();
}
echo ' ' . $parts[0] . '.' . $parts[2] . '.' . substr($parts[3], 0, -5) . PHP_EOL;
$lastCount++;
}
//end foreach
ob_end_clean();
}