/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/App/ObjectManager/Environment/AbstractEnvironment.php
110 строк
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 2015 Adobe * All Rights Reserved. */ namespace Magento\Framework\App\ObjectManager\Environment; use Magento\Framework\App\EnvironmentFactory; use Magento\Framework\Interception\ObjectManager\ConfigInterface; use Magento\Framework\App\EnvironmentInterface; use Magento\Framework\ObjectManager\Profiler\FactoryDecorator; use Magento\Framework\ObjectManager\FactoryInterface; use Magento\Framework\ObjectManager\Profiler\Log; abstract class AbstractEnvironment implements EnvironmentInterface { /** * @var ConfigInterface */ protected $config; /** * Mode name */ protected $mode = 'developer'; /** * @var string */ protected $configPreference = \Magento\Framework\ObjectManager\Factory\Dynamic\Developer::class; /** * @var FactoryInterface */ protected $factory; /** * @var EnvironmentFactory */ protected $envFactory; /** * @param EnvironmentFactory $envFactory */ public function __construct(EnvironmentFactory $envFactory) { $this->envFactory = $envFactory; } /** * Returns object manager factory * * @param array $arguments * @return FactoryInterface */ public function getObjectManagerFactory($arguments) { $factoryClass = $this->getDiConfig()->getPreference($this->configPreference); $this->factory = $this->createFactory($arguments, $factoryClass); $this->decorate($arguments); return $this->factory; } /** * Return name of running mode * * @return string */ public function getMode() { return $this->mode; } /** * Decorate factory * * @param array $arguments * @return void */ protected function decorate($arguments) { if (isset($arguments['MAGE_PROFILER']) && $arguments['MAGE_PROFILER'] == 2) { $this->factory = new FactoryDecorator( $this->factory, Log::getInstance() ); } } /** * Creates factory * * @param array $arguments * @param string $factoryClass * * @return FactoryInterface */ protected function createFactory($arguments, $factoryClass) { return new $factoryClass( $this->getDiConfig(), null, $this->envFactory->getDefinitions(), $arguments ); } }