Passed
Push — master ( 5e91d5...b1426b )
by Mauro
03:30
created

DICParams::has()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace SimpleDIC;
4
5
use SimpleDIC\Parser\Parser;
6
7
class DICParams
8
{
9
    private static $params = [];
10
11
    /**
12
     * DICParams constructor.
13
     *
14
     * @param array $params
15
     */
16
    private function __construct(array $params = [])
17
    {
18
        foreach ($params as $key => $value) {
19
            self::set($key, $value);
20
        }
21
    }
22
23
    /**
24
     * @param array $params
25
     *
26
     * @return DICParams
27
     */
28
    public static function init(array $params = [])
29
    {
30
        return new self($params);
31
    }
32
33
    /**
34
     * @param string $filename
35
     *
36
     * @return DICParams
37
     * @throws \Exception
38
     */
39
    public static function initFromFile($filename)
40
    {
41
        return new self(Parser::parse($filename));
42
    }
43
44
    /**
45
     * @param string $key
46
     *
47
     * @return mixed|null
48
     */
49
    public static function get($key)
50
    {
51
        if (self::has($key)) {
52
            return self::$params[$key];
53
        }
54
55
        return null;
56
    }
57
58
    /**
59
     * @param string $key
60
     * @param string $value
61
     */
62
    public static function set($key, $value)
63
    {
64
        if (false === self::has($key)) {
65
            self::$params[$key] = $value;
66
        }
67
    }
68
69
    /**
70
     * @param string $key
71
     *
72
     * @return bool
73
     */
74
    public static function has($key)
75
    {
76
        return isset(self::$params[$key]);
77
    }
78
}
79