![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-customer/Model/Address/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Model\Address; use Magento\Customer\Api\Data\AddressInterface; use Magento\Framework\Api\ExtensibleDataObjectConverter; /** * Class Mapper converts Address Service Data Object to an array */ class Mapper { /** * @var \Magento\Framework\Api\ExtensibleDataObjectConverter */ private $extensibleDataObjectConverter; /** * @param ExtensibleDataObjectConverter $extensibleDataObjectConverter */ public function __construct(ExtensibleDataObjectConverter $extensibleDataObjectConverter) { $this->extensibleDataObjectConverter = $extensibleDataObjectConverter; } /** * Convert address data object to a flat array * * @param AddressInterface $addressDataObject * @return array * TODO:: Add concrete type of AddressInterface for $addressDataObject parameter once * all references have been refactored. */ public function toFlatArray($addressDataObject) { $flatAddressArray = $this->extensibleDataObjectConverter->toFlatArray( $addressDataObject, [], \Magento\Customer\Api\Data\AddressInterface::class ); //preserve street $street = $addressDataObject->getStreet(); if (!empty($street) && is_array($street)) { // Unset flat street data $streetKeys = array_keys($street); foreach ($streetKeys as $key) { unset($flatAddressArray[$key]); } //Restore street as an array $flatAddressArray[AddressInterface::STREET] = $street; } return $flatAddressArray; } }