Passed
Push — master ( 736a4a...44dfcf )
by Korotkov
01:34
created

Container   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 6
c 2
b 0
f 1
dl 0
loc 22
rs 10
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A get() 0 3 2
A set() 0 3 1
A __construct() 0 3 1
A has() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * @author    : Jagepard <[email protected]">
7
 * @license   https://mit-license.org/ MIT
8
 */
9
10
namespace Rudra\Container;
11
12
use Rudra\Container\Interfaces\ContainerInterface;
13
14
class Container implements ContainerInterface
15
{
16
    protected array $data = [];
17
18
    public function __construct(array $data)
19
    {
20
        $this->data = $data;
21
    }
22
23
    public function get(string $key = null)
24
    {
25
        return empty($key) ? $this->data : $this->data[$key];
26
    }
27
28
    public function set(array $data): void
29
    {
30
        $this->data = array_merge($data, $this->data);
31
    }
32
33
    public function has(string $key): bool
34
    {
35
        return array_key_exists($key, $this->data);
36
    }
37
}
38