zend-blog-3-backend
84 строки · 1.4 Кб
1<?php
2
3namespace App\DTO;
4
5use Serializable;
6
7class EmailMessageDTO implements Serializable
8{
9/**
10* @var string
11*/
12public string $subject;
13
14/**
15* @var string|array
16*/
17public $from;
18
19/**
20* @var string|array
21*/
22public $to;
23
24/**
25* @var string|null
26*/
27public ?string $messageText;
28
29/**
30* @var string|null
31*/
32public ?string $messageHtml;
33
34/**
35* @var int
36*/
37public $type = 0;
38
39/**
40* @var string|null
41*/
42public $unsubscribeLink;
43
44/**
45* @return string|null
46*/
47public function serialize()
48{
49return serialize([
50$this->subject,
51$this->from,
52$this->to,
53$this->type,
54$this->unsubscribeLink,
55$this->messageText,
56$this->messageHtml,
57]);
58}
59
60/**
61* @param $data
62*/
63public function unserialize($data)
64{
65list(
66$this->subject,
67$this->from,
68$this->to,
69$this->type,
70$this->unsubscribeLink,
71$this->messageText,
72$this->messageHtml
73) = unserialize($data, ['allowed_classes' => false]);
74}
75
76public function getRecipientEmail(): string
77{
78if (is_array($this->to)) {
79return array_key_first($this->to);
80}
81
82return $this->to;
83}
84}
85