Mapper.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Model\Customer;
  7. use Magento\Customer\Api\Data\CustomerInterface;
  8. use Magento\Framework\Api\ExtensibleDataObjectConverter;
  9. use Magento\Framework\Convert\ConvertArray;
  10. /**
  11. * Class Mapper converts Address Service Data Object to an array
  12. */
  13. class Mapper
  14. {
  15. /**
  16. * @var \Magento\Framework\Api\ExtensibleDataObjectConverter
  17. */
  18. private $extensibleDataObjectConverter;
  19. /**
  20. * @param ExtensibleDataObjectConverter $extensibleDataObjectConverter
  21. */
  22. public function __construct(ExtensibleDataObjectConverter $extensibleDataObjectConverter)
  23. {
  24. $this->extensibleDataObjectConverter = $extensibleDataObjectConverter;
  25. }
  26. /**
  27. * Convert address data object to a flat array
  28. *
  29. * @param CustomerInterface $customer
  30. * @return array
  31. */
  32. public function toFlatArray(CustomerInterface $customer)
  33. {
  34. $flatArray = $this->extensibleDataObjectConverter->toNestedArray(
  35. $customer,
  36. [],
  37. \Magento\Customer\Api\Data\CustomerInterface::class
  38. );
  39. unset($flatArray["addresses"]);
  40. return ConvertArray::toFlatArray($flatArray);
  41. }
  42. }