Completed
Push — feature/middleware ( e85030...d864e0 )
by Derek Stephen
05:41
created

Orc   A

Complexity

Total Complexity 13

Size/Duplication

Total Lines 124
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 13
lcom 1
cbo 0
dl 0
loc 124
rs 10
c 0
b 0
f 0

11 Methods

Rating   Name   Duplication   Size   Complexity  
A getId() 0 4 1
A setId() 0 4 1
A getName() 0 4 1
A setName() 0 4 1
A getDob() 0 4 1
A setDob() 0 4 1
A getEventTime() 0 4 1
A setEventTime() 0 4 1
A toArray() 0 11 3
A jsonSerialize() 0 4 1
A __toString() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BoneMvc\Module\Orc\Entity;
6
7
use DateTime;
8
use Doctrine\ORM\Mapping as ORM;
9
use JsonSerializable;
10
11
/**
12
 * @ORM\Entity(repositoryClass="\BoneMvc\Module\Orc\Repository\OrcRepository")
13
 */
14
class Orc
15
{
16
    /**
17
     * @var int $id
18
     * @ORM\Id
19
     * @ORM\Column(type="integer")
20
     * @ORM\GeneratedValue
21
     */
22
    private $id;
23
24
    /**
25
     * @var string $name
26
     * @ORM\Column(type="string", length=30, nullable=false)
27
     */
28
    private $name;
29
30
    /**
31
     * @var DateTime $dob
32
     * @ORM\Column(type="date", nullable=true)
33
     */
34
    private $dob;
35
36
    /**
37
     * @var DateTime $eventTime
38
     * @ORM\Column(type="datetime", nullable=true)
39
     */
40
    private $eventTime;
41
42
    /**
43
     * @return int
44
     */
45
    public function getId(): ?int
46
    {
47
        return $this->id;
48
    }
49
50
    /**
51
     * @param int $id
52
     */
53
    public function setId($id): void
54
    {
55
        $this->id = $id;
56
    }
57
58
    /**
59
     * @return string
60
     */
61
    public function getName(): string
62
    {
63
        return $this->name;
64
    }
65
66
    /**
67
     * @param string $name
68
     */
69
    public function setName(string $name): void
70
    {
71
        $this->name = $name;
72
    }
73
74
    /**
75
     * @return DateTime
76
     */
77
    public function getDob(): ?DateTime
78
    {
79
        return $this->dob;
80
    }
81
82
    /**
83
     * @param DateTime|null $dob
84
     */
85
    public function setDob(?DateTime $dob): void
86
    {
87
        $this->dob = $dob;
88
    }
89
90
    /**
91
     * @return DateTime
92
     */
93
    public function getEventTime(): ?DateTime
94
    {
95
        return $this->eventTime;
96
    }
97
98
    /**
99
     * @param DateTime|null $eventTime
100
     */
101
    public function setEventTime(?DateTime $eventTime): void
102
    {
103
        $this->eventTime = $eventTime;
104
    }
105
106
    /**
107
     * @return array
108
     * @param string $dateFormat
109
     */
110
    public function toArray(string $dateFormat = 'd/m/Y'): array
111
    {
112
        $data = [
113
            'id' => $this->getId(),
114
            'name' => $this->getName(),
115
            'dob' => ($dob = $this->getDob()) ? $dob->format($dateFormat) : null,
116
            'eventTime' => ($eventTime = $this->getEventTime()) ? $eventTime->format($dateFormat . ' H:i') : null,
117
        ];
118
119
        return $data;
120
    }
121
122
    /**
123
     * @return string
124
     */
125
    public function jsonSerialize(): string
126
    {
127
        return \json_encode($this->toArray());
128
    }
129
130
    /**
131
     * @return string
132
     */
133
    public function __toString(): string
134
    {
135
        return $this->jsonSerialize();
136
    }
137
}
138