for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Solidifier\Reporters;
use PhpParser\PrettyPrinter\Standard;
class HTMLReporter
{
private
$content,
Only declaring a single property per statement allows you to later on add doc comments more easily.
It is also recommended by PSR2, so it is a common style that many people expect.
$content
The PSR-2 coding standard requires that all properties in a class have their visibility explicitly declared. If you declare a property using
class A { var $property; }
the property is implicitly global.
To learn more about the PSR-2, please see the PHP-FIG site on the PSR-2.
$twig;
public function __construct(\Twig_Environment $twig)
$this->content = null;
$this->twig = $twig;
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.
To visualize
$a = "a"; $ab = "ab"; $abc = "abc";
will produce issues in the first and second line, while this second example
will produce no issues.
}
public function render(array $defects)
$prettyPrint = new Standard();
$this->content = $this->twig->render(
'report.html.twig',
array(
'project' => 'Solidifier',
'defects' => $this->sortDefectsByNamespace($defects),
'printer' => $prettyPrint,
));
return $this;
private function sortDefectsByNamespace(array $defects)
$result = array();
ksort($defects);
foreach($defects as $file => $fileDefects)
$namespace = implode('/', explode('/', $file, -1));
if(! isset($result[$namespace]))
$result[$namespace] = array();
$result[$namespace][$file] = $fileDefects;
return $result;
public function save($reportFilename)
file_put_contents($reportFilename, $this->content);
Only declaring a single property per statement allows you to later on add doc comments more easily.
It is also recommended by PSR2, so it is a common style that many people expect.