Passed
Push — master ( 96a242...86f978 )
by Alec
03:01
created

env()   A

Complexity

Conditions 6
Paths 10

Size

Total Lines 24
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 6.4689

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 6
eloc 17
c 1
b 0
f 1
nc 10
nop 2
dl 0
loc 24
ccs 13
cts 17
cp 0.7647
crap 6.4689
rs 9.0777
1
<?php
2
/**
3
 * User: alec
4
 * Date: 12.10.18
5
 * Time: 13:21
6
 */
7
8
if (!function_exists('env')) {
9
    /**
10
     * Gets the value of an environment variable.
11
     *
12
     * @param  string $key
13
     * @param  mixed $default
14
     * @return mixed
15
     */
16
    function env($key, $default = null)
17
    {
18 38
        if (false === $value = getenv($key)) {
19 18
            $value = value($default);
20
        }
21
22 38
        $value = \ltrim(\rtrim($value, ')"'), '("');
23
24 38
        switch (strtolower($value)) {
25
            case 'true':
26 4
                $value = true;
27 4
                break;
28
            case 'false':
29 4
                $value = false;
30 4
                break;
31
            case 'empty':
32 4
                $value = '';
33 4
                break;
34
            case 'null':
35 4
                $value = null;
36 4
                break;
37
        }
38
39 38
        return $value;
40
    }
41
}
42
43
if (!function_exists('value')) {
44
    /**
45
     * Return the default value of the given value.
46
     *
47
     * @param  mixed $value
48
     * @return mixed
49
     */
50
    function value($value)
51
    {
52 18
        return $value instanceof Closure ? $value() : $value;
53
    }
54
}