Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Developer.php
Go to the documentation of this file.
1 <?php
8 
13 
15 {
19  const MODE = 'developer';
23  protected $mode = self::MODE;
24 
28  protected $config;
29 
33  protected $configPreference = \Magento\Framework\ObjectManager\Factory\Dynamic\Developer::class;
34 
40  public function getDiConfig()
41  {
42  if (!$this->config) {
43  $this->config = new \Magento\Framework\Interception\ObjectManager\Config\Developer(
44  $this->envFactory->getRelations(),
45  $this->envFactory->getDefinitions()
46  );
47  }
48 
49  return $this->config;
50  }
51 
57  public function getObjectManagerConfigLoader()
58  {
59  return null;
60  }
61 
65  public function configureObjectManager(ConfigInterface $diConfig, &$sharedInstances)
66  {
67  $originalSharedInstances = $sharedInstances;
69  $sharedInstances[\Magento\Framework\ObjectManager\ConfigLoaderInterface::class] = $objectManager
70  ->get(\Magento\Framework\App\ObjectManager\ConfigLoader::class);
71 
72  $diConfig->setCache(
73  $objectManager->get(\Magento\Framework\App\ObjectManager\ConfigCache::class)
74  );
75 
76  $objectManager->configure(
78  ->get(\Magento\Framework\App\ObjectManager\ConfigLoader::class)
79  ->load(Area::AREA_GLOBAL)
80  );
81  $objectManager->get(\Magento\Framework\Config\ScopeInterface::class)
82  ->setCurrentScope('global');
83  $diConfig->setInterceptionConfig(
84  $objectManager->get(\Magento\Framework\Interception\Config\Config::class)
85  );
87  $sharedInstances = $originalSharedInstances;
88  $sharedInstances[\Magento\Framework\ObjectManager\ConfigLoaderInterface::class] = $objectManager
89  ->get(\Magento\Framework\App\ObjectManager\ConfigLoader::class);
90  }
91 }
$objectManager
Definition: bootstrap.php:17
configureObjectManager(ConfigInterface $diConfig, &$sharedInstances)
Definition: Developer.php:65
setInterceptionConfig(\Magento\Framework\Interception\ConfigInterface $interceptionConfig)