Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
FormData.php
Go to the documentation of this file.
1 <?php
7 declare(strict_types=1);
8 
10 
14 class FormData
15 {
19  private $serializer;
20 
24  public function __construct(Json $serializer)
25  {
26  $this->serializer = $serializer;
27  }
28 
36  public function unserialize(string $serializedData): array
37  {
38  $encodedFields = $this->serializer->unserialize($serializedData);
39 
40  if (!is_array($encodedFields)) {
41  throw new \InvalidArgumentException('Unable to unserialize value.');
42  }
43 
44  $formData = [];
45  foreach ($encodedFields as $item) {
46  $decodedFieldData = [];
47  parse_str($item, $decodedFieldData);
48  $formData = array_replace_recursive($formData, $decodedFieldData);
49  }
50 
51  return $formData;
52  }
53 }