![]() 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/app/code/Ecombricks/Common/DataObject/ |
<?php /** * Copyright © eComBricks. All rights reserved. * See LICENSE.txt for license details. */ declare(strict_types=1); namespace Ecombricks\Common\DataObject; /** * Object reflection factory */ class ReflectionFactory extends \Ecombricks\Common\DataObject\Factory { /** * Instances * * @var array */ private $instances = []; /** * Constructor * * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param string $instanceName */ public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Ecombricks\Common\DataObject\Reflection::class ) { parent::__construct($objectManager, $instanceName); } /** * Create * * @param array $data * @return \Magento\Framework\DataObject * @throws \Magento\Framework\Exception\LocalizedException */ public function create(array $data = []) { if (empty($data['class'])) { throw new \Magento\Framework\Exception\LocalizedException(__('Class argument is not found for %1 factory.', get_class($this))); } $class = $data['class']; if (array_key_exists($class, $this->instances)) { return $this->instances[$class]; } return $this->instances[$class] = parent::create($data); } }