1 | <?php |
||
16 | final class Event extends Component |
||
17 | { |
||
18 | /** @var array */ |
||
19 | private $alerts = []; |
||
20 | |||
21 | /** @var \DateTimeInterface */ |
||
22 | private $starts; |
||
23 | |||
24 | /** @var \DateTimeInterface */ |
||
25 | private $ends; |
||
26 | |||
27 | /** @var string */ |
||
28 | private $name; |
||
29 | |||
30 | /** @var string|null */ |
||
31 | private $description; |
||
32 | |||
33 | /** @var string|null */ |
||
34 | private $address; |
||
35 | |||
36 | /** @var string|null */ |
||
37 | private $addressName; |
||
38 | |||
39 | /** @var float|null */ |
||
40 | private $lat; |
||
41 | |||
42 | /** @var float|null */ |
||
43 | private $lng; |
||
44 | |||
45 | /** @var string */ |
||
46 | private $uuid; |
||
47 | |||
48 | /** @var \DateTimeInterface */ |
||
49 | private $created; |
||
50 | |||
51 | /** @var bool */ |
||
52 | private $withTimezone = false; |
||
53 | |||
54 | /** @var bool */ |
||
55 | private $isFullDay = false; |
||
56 | |||
57 | /** @var \Spatie\IcalendarGenerator\Enums\Classification|null */ |
||
58 | private $classification = null; |
||
59 | |||
60 | /** @var bool|null */ |
||
61 | private $transparent = null; |
||
62 | |||
63 | /** @var \Spatie\IcalendarGenerator\ValueObjects\CalendarAddress[] */ |
||
64 | private $attendees = []; |
||
65 | |||
66 | /** @var \Spatie\IcalendarGenerator\ValueObjects\CalendarAddress|null */ |
||
67 | private $organizer = null; |
||
68 | |||
69 | /** @var \Spatie\IcalendarGenerator\Enums\EventStatus|null */ |
||
70 | private $status = null; |
||
71 | |||
72 | /** @var string|null */ |
||
73 | private $url; |
||
74 | |||
75 | public static function create(string $name = null): Event |
||
79 | |||
80 | public function __construct(string $name = null) |
||
86 | |||
87 | public function getComponentType(): string |
||
91 | |||
92 | public function getRequiredProperties(): array |
||
100 | |||
101 | public function startsAt(DateTimeInterface $starts): Event |
||
107 | |||
108 | public function endsAt(DateTimeInterface $ends): Event |
||
114 | |||
115 | public function period(DateTimeInterface $starts, DateTimeInterface $ends): Event |
||
122 | |||
123 | public function name(string $name): Event |
||
129 | |||
130 | public function description(string $description): Event |
||
136 | |||
137 | public function address(string $address, string $name = null): Event |
||
147 | |||
148 | public function addressName(string $name): Event |
||
154 | |||
155 | public function coordinates(float $lat, float $lng): Event |
||
162 | |||
163 | public function uniqueIdentifier(string $uid): Event |
||
169 | |||
170 | public function createdAt(DateTimeInterface $created): Event |
||
176 | |||
177 | public function withTimezone(): Event |
||
183 | |||
184 | public function fullDay(): Event |
||
190 | |||
191 | public function alert(Alert $alert): Event |
||
197 | |||
198 | public function alertMinutesBefore(int $minutes, string $message = null): Event |
||
204 | |||
205 | public function alertMinutesAfter(int $minutes, string $message = null): Event |
||
211 | |||
212 | public function classification(?Classification $classification): Event |
||
218 | |||
219 | public function transparent(): Event |
||
225 | |||
226 | public function attendee( |
||
235 | |||
236 | public function organizer(string $email, string $name = null): Event |
||
242 | |||
243 | public function status(EventStatus $status): Event |
||
249 | |||
250 | public function url(string $url): Event |
||
251 | { |
||
252 | $this->url = $url; |
||
253 | |||
254 | return $this; |
||
255 | } |
||
256 | |||
257 | protected function payload(): ComponentPayload |
||
285 | |||
286 | private function resolveLocationProperties(ComponentPayload $payload): ComponentPayload |
||
311 | } |
||
312 |
In PHP, under loose comparison (like
==
, or!=
, orswitch
conditions), values of different types might be equal.For
string
values, the empty string''
is a special case, in particular the following results might be unexpected: