Passed
Push — master ( f42836...c033cf )
by Albert
03:51 queued 10s
created

Dumper::dump()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 15
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 7
nc 4
nop 1
dl 0
loc 15
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace SwooleTW\Http\Helpers;
4
5
use Symfony\Component\VarDumper\Cloner\VarCloner;
6
use Symfony\Component\VarDumper\Dumper\CliDumper;
7
use Symfony\Component\VarDumper\Dumper\HtmlDumper;
8
9
class Dumper
10
{
11
    protected static $cloner;
12
13
    public static function dump(...$args)
14
    {
15
        if (! static::$cloner instanceOf VarCloner) {
16
            static::$cloner = new VarCloner;
17
        }
18
19
        $dumper = static::getDumper();
20
21
        foreach ($args as $arg) {
22
            $dumper->dump(
23
                static::$cloner->cloneVar($arg)
24
            );
25
        }
26
27
        return true;
28
    }
29
30
    public static function getDumper()
31
    {
32
        $dumper = defined('IN_PHPUNIT') || ! config('swoole_http.ob_output')
33
            ? CliDumper::class
34
            : HtmlDumper::class;
35
36
        return new $dumper;
37
    }
38
}
39