@@ -19,75 +19,70 @@ final class Product implements CreatableFromArray
19
19
/**
20
20
* @var int
21
21
*/
22
- private $ id ;
22
+ private $ id = 0 ;
23
23
24
24
/**
25
- * @var string
25
+ * @var null| string
26
26
*/
27
- private $ code ;
27
+ private $ name ;
28
+
29
+ /**
30
+ * @var null|string
31
+ */
32
+ private $ code = '' ;
28
33
29
34
/**
30
35
* @var string[]
31
36
*/
32
- private $ channels ;
37
+ private $ channels = [] ;
33
38
34
39
/**
35
40
* @var string[][]
36
41
*/
37
- private $ translations ;
42
+ private $ translations = [] ;
38
43
39
44
/**
40
45
* @var Image[]
41
46
*/
42
- private $ images ;
43
-
44
- private function __construct (
45
- int $ id ,
46
- string $ code ,
47
- array $ channels ,
48
- array $ translations ,
49
- array $ images
50
- ) {
51
- $ this ->id = $ id ;
52
- $ this ->code = $ code ;
53
- $ this ->channels = $ channels ;
54
- $ this ->translations = $ translations ;
55
- $ this ->images = $ images ;
47
+ private $ images = [];
48
+
49
+ private function __construct ()
50
+ {
56
51
}
57
52
58
53
/**
59
54
* @return Product
60
55
*/
61
56
public static function createFromArray (array $ data ): self
62
57
{
63
- $ id = - 1 ;
58
+ $ model = new self () ;
64
59
if (isset ($ data ['id ' ])) {
65
- $ id = $ data ['id ' ];
60
+ $ model -> id = $ data ['id ' ];
66
61
}
67
62
68
- $ code = '' ;
69
63
if (isset ($ data ['code ' ])) {
70
- $ code = $ data ['code ' ];
64
+ $ model ->code = $ data ['code ' ];
65
+ }
66
+ if (isset ($ data ['name ' ])) {
67
+ $ model ->name = $ data ['name ' ];
71
68
}
72
69
73
- $ channels = [];
74
70
if (isset ($ data ['channels ' ])) {
75
- $ channels = $ data ['channels ' ];
71
+ $ model -> channels = $ data ['channels ' ];
76
72
}
77
73
78
74
$ translations = [];
79
75
if (isset ($ data ['translations ' ])) {
80
- $ translations = $ data ['translations ' ];
76
+ $ model -> translations = $ data ['translations ' ];
81
77
}
82
78
83
- $ images = [];
84
79
if (isset ($ data ['images ' ])) {
85
80
foreach ($ data ['images ' ] as $ image ) {
86
- $ images [] = Image::createFromArray ($ image );
81
+ $ model -> images [] = Image::createFromArray ($ image );
87
82
}
88
83
}
89
84
90
- return new self ( $ id , $ code , $ channels , $ translations , $ images ) ;
85
+ return $ model ;
91
86
}
92
87
93
88
public function getId (): int
@@ -123,4 +118,9 @@ public function getImages(): array
123
118
{
124
119
return $ this ->images ;
125
120
}
121
+
122
+ public function getName (): ?string
123
+ {
124
+ return $ this ->name ;
125
+ }
126
126
}
0 commit comments