<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\View\Layout; /** * Factory class for Processor */ class ProcessorFactory { /** * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface */ protected $objectManager; /** * Instance name to create * * @var string */ protected $instanceName; /** * Constructor * * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param string $instanceName */ public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\View\Layout\ProcessorInterface::class ) { $this->objectManager = $objectManager; $this->instanceName = $instanceName; } /** * Create class instance with specified parameters * * @param array $data * @return ProcessorInterface */ public function create(array $data = []) { return $this->objectManager->create($this->instanceName, $data); } }