![]() 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-eav/Model/Entity/Setup/PropertyMapper/ |
<?php /** * Composite attribute property mapper * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Eav\Model\Entity\Setup\PropertyMapper; use Magento\Eav\Model\Entity\Setup\PropertyMapperInterface; use Magento\Framework\ObjectManagerInterface; class Composite implements PropertyMapperInterface { /** * @var \Magento\Framework\ObjectManagerInterface */ protected $objectManager; /** * @var array */ protected $propertyMappers; /** * @param ObjectManagerInterface $objectManager * @param array $propertyMappers * @codeCoverageIgnore */ public function __construct(ObjectManagerInterface $objectManager, array $propertyMappers = []) { $this->objectManager = $objectManager; $this->propertyMappers = $propertyMappers; } /** * Map input attribute properties to storage representation * * @param array $input * @param int $entityTypeId * @return array * @throws \InvalidArgumentException */ public function map(array $input, $entityTypeId) { $data = []; foreach ($this->propertyMappers as $class) { if (!is_subclass_of($class, \Magento\Eav\Model\Entity\Setup\PropertyMapperInterface::class)) { throw new \InvalidArgumentException( 'Property mapper ' . $class . ' must' . ' implement \Magento\Eav\Model\Entity\Setup\PropertyMapperInterface' ); } $data = array_replace($data, $this->objectManager->get($class)->map($input, $entityTypeId)); } return $data; } }