KeyValueObjectAccessTrait::__unset()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Lit\Nexus\Traits;
6
7
/**
8
 * Magic methods for KeyValueInterface, makes it's content accessible as object properties.
9
 */
10
trait KeyValueObjectAccessTrait
11
{
12
    public function __get($name)
13
    {
14
        return $this->get($name);
15
    }
16
17
    public function __set($name, $value)
18
    {
19
        $this->set($name, $value);
20
    }
21
22
    public function __isset($name)
23
    {
24
        return $this->exists($name);
25
    }
26
27
    public function __unset($name)
28
    {
29
        $this->delete($name);
30
    }
31
32
    abstract public function set(string $key, $value);
33
34
    abstract public function delete(string $key);
35
36
    abstract public function get(string $key);
37
38
    abstract public function exists(string $key);
39
}
40