/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/View/TemplateEngineFactory.php
61 строка
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 2014 Adobe * All Rights Reserved. */ namespace Magento\Framework\View; use Magento\Framework\ObjectManagerInterface; /** * Factory class for Template Engine */ class TemplateEngineFactory { /** * Object manager * * @var ObjectManagerInterface */ protected $objectManager; /** * Engines * * @var array */ protected $engines; /** * Constructor * * @param ObjectManagerInterface $objectManager * @param array $engines Format: array('<name>' => 'TemplateEngine\Class', ...) */ public function __construct(ObjectManagerInterface $objectManager, array $engines) { $this->objectManager = $objectManager; $this->engines = $engines; } /** * Retrieve a template engine instance by its unique name * * @param string $name * @return TemplateEngineInterface * @throws \UnexpectedValueException If template engine doesn't implement the necessary interface * @throws \InvalidArgumentException If template engine doesn't exist */ public function create($name) { if (!isset($this->engines[$name])) { throw new \InvalidArgumentException("Unknown template engine type: '{$name}'."); } $engineClass = $this->engines[$name]; $engineInstance = $this->objectManager->create($engineClass); if (!$engineInstance instanceof \Magento\Framework\View\TemplateEngineInterface) { throw new \UnexpectedValueException("{$engineClass} has to implement the template engine interface."); } return $engineInstance; } }