![]() 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-open-ai/Model/Models/ |
<?php namespace MageWorx\OpenAI\Model\Models; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\ObjectManagerInterface; use MageWorx\OpenAI\Api\ModelInterface; class ModelsFactory { /** * Object Manager instance * * @var ObjectManagerInterface */ protected ObjectManagerInterface $objectManager; protected array $types = []; /** * Factory constructor * * @param ObjectManagerInterface $objectManager * @param array $types */ public function __construct( ObjectManagerInterface $objectManager, array $types = [] ) { $this->objectManager = $objectManager; $this->types = $types; } /** * Create class instance with specified parameters * * @param string $modelType * @param array $data * @return ModelInterface * @throws LocalizedException */ public function create(string $modelType, array $data = []): ModelInterface { $class = $this->getClassByType($modelType); if (empty($class)) { throw new LocalizedException(__('Unable to locate corresponding class for the %1 OpenAI model.', $modelType)); } return $this->objectManager->create($class, $data); } /** * @param string $modelType * @return string */ private function getClassByType(string $modelType): string { return $this->types[$modelType] ?? ''; } }