/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Mview/Config/Data/Proxy.php
119 строк
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\Mview\Config\Data; /** * Proxy class for \Magento\Framework\Mview\Config\Data */ class Proxy extends \Magento\Framework\Mview\Config\Data implements \Magento\Framework\ObjectManager\NoninterceptableInterface { /** * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface */ protected $objectManager; /** * Proxied instance name * * @var string */ protected $instanceName; /** * Proxied instance * * @var \Magento\Framework\Mview\Config\Data */ protected $subject; /** * Instance shareability flag * * @var bool */ protected $isShared = null; /** * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param string $instanceName * @param bool $shared */ public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = \Magento\Framework\Mview\Config\Data::class, $shared = true ) { $this->objectManager = $objectManager; $this->instanceName = $instanceName; $this->isShared = $shared; } /** * Remove links to objects. * * @return array */ public function __sleep() { return ['subject', 'isShared']; } /** * Retrieve ObjectManager from global scope * * @return void */ public function __wakeup() { $this->objectManager = \Magento\Framework\App\ObjectManager::getInstance(); } /** * Clone proxied instance * * @return void */ public function __clone() { $this->subject = clone $this->_getSubject(); } /** * Get proxied instance * * @return \Magento\Framework\Mview\Config\Data */ protected function _getSubject() { if (!$this->subject) { $this->subject = true === $this->isShared ? $this->objectManager->get( $this->instanceName ) : $this->objectManager->create( $this->instanceName ); } return $this->subject; } /** * @inheritDoc */ public function merge(array $config) { $this->_getSubject()->merge($config); } /** * @inheritDoc */ public function get($path = null, $default = null) { return $this->_getSubject()->get($path, $default); } }