CsvOutput   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
c 1
b 0
f 0
lcom 1
cbo 4
dl 0
loc 28
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B result() 0 22 4
1
<?php
2
namespace phphound\output;
3
4
use League\Csv\Writer;
5
use phphound\AnalysisResult;
6
7
class CsvOutput extends AbstractOutput
8
{
9
    /**
10
     * @inheritdoc
11
     */
12
    public function result(AnalysisResult $result)
13
    {
14
        $writer = Writer::createFromString('');
15
        $writer->insertOne(['File', 'Line', 'Tool', 'Type', 'Message']);
16
17
        foreach ($result->toArray() as $fileName => $lines) {
18
            foreach ($lines as $lineNumber => $issues) {
19
                foreach ($issues as $issue) {
20
                    $writer->insertOne([
21
                        $fileName,
22
                        $lineNumber,
23
                        $issue['tool'],
24
                        $issue['type'],
25
                        trim($issue['message']),
26
                    ]);
27
                }
28
            }
29
        }
30
31
        $csv = ltrim($writer->__toString());
32
        $this->cli->out($csv);
33
    }
34
}
35