Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
OperationFactory.php
Go to the documentation of this file.
1 <?php
7 
9 {
13  private $objectManager;
14 
18  const AREA_CONFIG_GENERATOR = 'area';
19 
23  const INTERCEPTION = 'interception';
24 
28  const INTERCEPTION_CACHE = 'interception_cache';
29 
33  const REPOSITORY_GENERATOR = 'repository_generator';
34 
38  const PROXY_GENERATOR = 'proxy_generator';
39 
43  const DATA_ATTRIBUTES_GENERATOR = 'extension_attributes_generator';
44 
48  const APPLICATION_CODE_GENERATOR = 'application_code_generator';
49 
55  private $operationsDefinitions = [
56  self::DATA_ATTRIBUTES_GENERATOR =>
57  \Magento\Setup\Module\Di\App\Task\Operation\ServiceDataAttributesGenerator::class,
58  self::AREA_CONFIG_GENERATOR => \Magento\Setup\Module\Di\App\Task\Operation\Area::class,
59  self::APPLICATION_CODE_GENERATOR => \Magento\Setup\Module\Di\App\Task\Operation\ApplicationCodeGenerator::class,
60  self::INTERCEPTION => \Magento\Setup\Module\Di\App\Task\Operation\Interception::class,
61  self::INTERCEPTION_CACHE => \Magento\Setup\Module\Di\App\Task\Operation\InterceptionCache::class,
62  self::REPOSITORY_GENERATOR => \Magento\Setup\Module\Di\App\Task\Operation\RepositoryGenerator::class,
63  self::PROXY_GENERATOR => \Magento\Setup\Module\Di\App\Task\Operation\ProxyGenerator::class,
64  ];
65 
69  public function __construct(\Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider)
70  {
71  $this->objectManager = $objectManagerProvider->get();
72  }
73 
82  public function create($operationAlias, $arguments = null)
83  {
84  if (!array_key_exists($operationAlias, $this->operationsDefinitions)) {
85  throw new OperationException(
86  sprintf('Unrecognized operation "%s"', $operationAlias),
88  );
89  }
90 
91  return $this->objectManager->create($this->operationsDefinitions[$operationAlias], ['data' => $arguments]);
92  }
93 }
$arguments
__construct(\Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider)