/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/EntityManager/Hydrator.php
79 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2016 Adobe * All Rights Reserved. */ namespace Magento\Framework\EntityManager; use Magento\Framework\Reflection\DataObjectProcessor; use Magento\Framework\Api\DataObjectHelper; /** * Class Hydrator */ class Hydrator implements HydratorInterface { /** * @var DataObjectProcessor */ private $dataObjectProcessor; /** * @var DataObjectHelper */ private $dataObjectHelper; /** * @var TypeResolver */ private $typeResolver; /** * @var MapperPool */ private $mapperPool; /** * @param DataObjectProcessor $dataObjectProcessor * @param DataObjectHelper $dataObjectHelper * @param TypeResolver $typeResolver * @param MapperPool $mapperPool */ public function __construct( DataObjectProcessor $dataObjectProcessor, DataObjectHelper $dataObjectHelper, TypeResolver $typeResolver, MapperPool $mapperPool ) { $this->dataObjectProcessor = $dataObjectProcessor; $this->dataObjectHelper = $dataObjectHelper; $this->typeResolver = $typeResolver; $this->mapperPool = $mapperPool; } /** * {@inheritdoc} */ public function extract($entity) { $entityType = $this->typeResolver->resolve($entity); $data = $this->dataObjectProcessor->buildOutputDataArray($entity, $entityType); $mapper = $this->mapperPool->getMapper($entityType); return $mapper->entityToDatabase($entityType, $data); } /** * {@inheritdoc} */ public function hydrate($entity, array $data) { $entityType = $this->typeResolver->resolve($entity); $mapper = $this->mapperPool->getMapper($entityType); $data = $mapper->databaseToEntity( $entityType, array_merge($this->extract($entity), $data) ); $this->dataObjectHelper->populateWithArray($entity, $data, $entityType); return $entity; } }