Completed
Push — master ( 523188...25b8d9 )
by Siim
14:49
created

AbstractDto::toArray()   A

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 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: siim
5
 * Date: 24.01.19
6
 * Time: 16:01
7
 */
8
9
namespace Sf4\Api\Dto;
10
11
use Sf4\Populator\Populator;
12
13
abstract class AbstractDto implements DtoInterface
14
{
15
16
    protected $populator;
17
18
    public function __construct()
19
    {
20
        $this->setPopulator(new Populator());
21
    }
22
23
    /**
24
     * @param array $data
25
     * @throws \ReflectionException
26
     */
27
    public function populate(array $data): void
28
    {
29
        $this->getPopulator()->populate($data, $this);
30
    }
31
32
    /**
33
     * @return array
34
     */
35
    public function toArray(): array
36
    {
37
        return $this->getPopulator()->unpopulate($this);
38
    }
39
40
    /**
41
     * @return Populator
42
     */
43
    protected function getPopulator(): Populator
44
    {
45
        return $this->populator;
46
    }
47
48
    /**
49
     * @param Populator $populator
50
     */
51
    protected function setPopulator(Populator $populator): void
52
    {
53
        $this->populator = $populator;
54
    }
55
}
56