![]() 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/mageworx/module-seoxtemplates/Model/ |
<?php /** * Copyright © 2016 MageWorx. All rights reserved. * See LICENSE.txt for license details. */ namespace MageWorx\SeoXTemplates\Model; use Magento\Framework\ObjectManagerInterface as ObjectManager; /** * Factory class * * @see \MageWorx\SeoXTemplates\Model\DataProvider */ class DataProviderProductFactory { /** * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface */ protected $objectManager = null; /** * Instance name to create * * @var string */ protected $map; /** * Factory constructor * * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param array $map */ public function __construct( ObjectManager $objectManager, array $map = [] ) { $this->objectManager = $objectManager; $this->map = $map; } /** * * @param string $param * @param array $arguments * @return \MageWorx\SeoXTemplates\Model\DataProviderInterface * @throws \UnexpectedValueException */ public function create($param, array $arguments = []) { if (isset($this->map[$param])) { $instance = $this->objectManager->create($this->map[$param], $arguments); } else { return null; } if (!$instance instanceof \MageWorx\SeoXTemplates\Model\DataProviderInterface) { throw new \UnexpectedValueException( 'Class ' . get_class($instance) . ' should be an instance of \MageWorx\SeoXTemplates\Model\DataProviderInterface' ); } return $instance; } }