Completed
Pull Request — master (#5)
by Christian
02:05
created

NSData   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 38
rs 10
c 0
b 0
f 0
wmc 6

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __toString() 0 3 1
A __construct() 0 3 1
A toArray() 0 4 1
A getTarget() 0 3 1
A serialize() 0 3 1
A unserialize() 0 4 1
1
<?php
2
namespace RemotelyLiving\PHPDNS\Entities;
3
4
class NSData extends DataAbstract
5
{
6
    /**
7
     * @var \RemotelyLiving\PHPDNS\Entities\Hostname
8
     */
9
    private $target;
10
11
    public function __construct(Hostname $target)
12
    {
13
        $this->target = $target;
14
    }
15
16
    public function __toString(): string
17
    {
18
        return (string)$this->target;
19
    }
20
21
    public function getTarget(): Hostname
22
    {
23
        return $this->target;
24
    }
25
26
    public function toArray(): array
27
    {
28
        return [
29
            'target' => (string)$this->target,
30
        ];
31
    }
32
33
    public function serialize(): string
34
    {
35
        return \serialize($this->toArray());
36
    }
37
38
    public function unserialize($serialized): void
39
    {
40
        $unserialized = \unserialize($serialized);
41
        $this->target = new Hostname($unserialized['target']);
42
    }
43
}
44