Passed
Push — master ( 27aff5...90c7ff )
by Alexander
11:49 queued 05:54
created

ErrorHandler::renderException()   B

Complexity

Conditions 5
Paths 4

Size

Total Lines 21
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 30

Importance

Changes 0
Metric Value
dl 0
loc 21
ccs 0
cts 19
cp 0
rs 8.7624
c 0
b 0
f 0
cc 5
eloc 13
nc 4
nop 1
crap 30
1
<?php
2
3
namespace Horat1us\Yii\Console;
4
5
use Horat1us\Yii\Interfaces\ModelExceptionInterface;
6
7
use yii\helpers\Console;
8
9
class ErrorHandler extends \yii\console\ErrorHandler
10
{
11
    protected function renderException($exception)
12
    {
13
        parent::renderException($exception);
14
15
        $message = '';
16
        if ($exception instanceof ModelExceptionInterface) {
17
            $message .= $this->formatMessage("Errors: ");
18
            foreach ($exception->getModel()->errors as $attribute => $errors) {
19
                $message .= "\t.$attribute\n";
20
                foreach ($errors as $error) {
21
                    $message .= "\t\t" . $this->formatMessage($error) . "\n";
22
                }
23
            }
24
        }
25
26
        if (PHP_SAPI === 'cli') {
27
            Console::stderr($message . "\n");
28
        } else {
29
            echo $message . "\n";
30
        }
31
    }
32
}
33