![]() 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/framework/EntityManager/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\EntityManager; use Magento\Framework\ObjectManagerInterface as ObjectManager; use Magento\Framework\EntityManager\Operation\CheckIfExists; use Magento\Framework\EntityManager\Operation\Read; use Magento\Framework\EntityManager\Operation\Create; use Magento\Framework\EntityManager\Operation\Update; use Magento\Framework\EntityManager\Operation\Delete; /** * Class OperationPool */ class OperationPool { /** * @var array */ private $defaultOperations = [ 'checkIfExists' => CheckIfExists::class, 'read' => Read::class, 'create' => Create::class, 'update' => Update::class, 'delete' => Delete::class, ]; /** * @var array */ private $operations; /** * @var ObjectManager */ private $objectManager; /** * OperationPool constructor. * @param ObjectManager $objectManager * @param string[] $operations */ public function __construct( ObjectManager $objectManager, $operations = [] ) { $this->objectManager = $objectManager; $this->operations = array_replace_recursive( ['default' => $this->defaultOperations], $operations ); } /** * Returns operation by name by entity type * * @param string $entityType * @param string $operationName * @return OperationInterface */ public function getOperation($entityType, $operationName) { if (!isset($this->operations[$entityType][$operationName])) { return $this->objectManager->get($this->operations['default'][$operationName]); } return $this->objectManager->get($this->operations[$entityType][$operationName]); } }