Passed
Push — release-2.x ( c21d8d...204b60 )
by Slye
01:58
created

CliFormatter::output()   A

Complexity

Conditions 4
Paths 5

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 12
c 0
b 0
f 0
rs 10
cc 4
nc 5
nop 2
1
<?php
2
3
namespace NDC\DatabaseBackup;
4
5
6
/**
7
 * Class CliFormatter
8
 * @package NDC\DatabaseBackup
9
 */
10
class CliFormatter
11
{
12
    public const COLOR_BLACK = 30;
13
    public const COLOR_BLUE = 34;
14
    public const COLOR_GREEN = 32;
15
    public const COLOR_CYAN = 36;
16
    public const COLOR_RED = 31;
17
    public const COLOR_PURPLE = 35;
18
    public const COLOR_BROWN = 33;
19
    public const COLOR_LIGHT_GRAY = 37;
20
21
    /**
22
     * @param string $message
23
     * @param int|null $color
24
     */
25
    public static function output(string $message, int $color = null): void
26
    {
27
        if (PHP_SAPI === 'cli') {
28
            echo ' > ';
29
            if ($color !== null) {
30
                echo "\033[{$color}m";
31
            }
32
            echo $message;
33
            if ($color !== null) {
34
                echo "\033[0m";
35
            }
36
            echo PHP_EOL;
37
        }
38
    }
39
}