Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Mapper.php
Go to the documentation of this file.
1 <?php
8 
11 
15 class Mapper
16 {
20  private $extensibleDataObjectConverter;
21 
25  public function __construct(ExtensibleDataObjectConverter $extensibleDataObjectConverter)
26  {
27  $this->extensibleDataObjectConverter = $extensibleDataObjectConverter;
28  }
29 
38  public function toFlatArray($addressDataObject)
39  {
40  $flatAddressArray = $this->extensibleDataObjectConverter->toFlatArray(
41  $addressDataObject,
42  [],
43  \Magento\Customer\Api\Data\AddressInterface::class
44  );
45  //preserve street
46  $street = $addressDataObject->getStreet();
47  if (!empty($street) && is_array($street)) {
48  // Unset flat street data
49  $streetKeys = array_keys($street);
50  foreach ($streetKeys as $key) {
51  unset($flatAddressArray[$key]);
52  }
53  //Restore street as an array
54  $flatAddressArray[AddressInterface::STREET] = $street;
55  }
56  return $flatAddressArray;
57  }
58 }
toFlatArray($addressDataObject)
Definition: Mapper.php:38
__construct(ExtensibleDataObjectConverter $extensibleDataObjectConverter)
Definition: Mapper.php:25