PluginProbe
The Innovative Form Builder – IvyForms / 0.3.1
The Innovative Form Builder – IvyForms v0.3.1
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
ivyforms / backend / src / Factory / EntryField / EntryFieldFactory.php

EntryFieldFactory.php in The Innovative Form Builder – IvyForms 0.3.1, at backend/src/Factory/EntryField/EntryFieldFactory.php

44 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IvyForms\Factory\EntryField;
4
5 use IvyForms\Common\Exceptions\ValidationException;
6 use IvyForms\Entity\EntryField\EntryField as EntryFieldEntity;
7 use IvyForms\ValueObjects\Entry\EntryField as EntryFieldValueObject;
8
9 class EntryFieldFactory
10 {
11 /**
12 * Create an EntryField entity from array data.
13 *
14 * @param array<mixed> $data
15 * @return EntryFieldEntity
16 * @throws ValidationException
17 */
18 public static function create(array $data): EntryFieldEntity
19 {
20 $entryFieldObject = new EntryFieldValueObject(
21 $data['id'] ?? null,
22 $data['entryId'] ?? null,
23 $data['fieldId'] ?? '',
24 $data['fieldValue'] ?? '',
25 );
26
27 $entryField = new EntryFieldEntity($entryFieldObject);
28
29 if (isset($data['id'])) {
30 $entryField->setId($data['id']);
31 }
32 if (isset($data['entryId'])) {
33 $entryField->setEntryId($data['entryId']);
34 }
35 if (isset($data['fieldId'])) {
36 $entryField->setFieldId($data['fieldId']);
37 }
38 if (isset($data['fieldValue'])) {
39 $entryField->setFieldValue($data['fieldValue']);
40 }
41 return $entryField;
42 }
43 }
44