![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/App/ObjectManager/ |
<?php /** * ObjectManager configuration loader * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\App\ObjectManager; use Magento\Framework\ObjectManager\ConfigLoaderInterface; use Magento\Framework\Serialize\Serializer\Serialize; use Magento\Framework\Serialize\SerializerInterface; class ConfigLoader implements ConfigLoaderInterface { /** * Config reader * * @var \Magento\Framework\ObjectManager\Config\Reader\Dom */ protected $_reader; /** * Config reader factory * * @var \Magento\Framework\ObjectManager\Config\Reader\DomFactory */ protected $_readerFactory; /** * Cache * * @var \Magento\Framework\Config\CacheInterface */ protected $_cache; /** * @var SerializerInterface */ private $serializer; /** * @param \Magento\Framework\Config\CacheInterface $cache * @param \Magento\Framework\ObjectManager\Config\Reader\DomFactory $readerFactory */ public function __construct( \Magento\Framework\Config\CacheInterface $cache, \Magento\Framework\ObjectManager\Config\Reader\DomFactory $readerFactory ) { $this->_cache = $cache; $this->_readerFactory = $readerFactory; } /** * Get reader instance * * @return \Magento\Framework\ObjectManager\Config\Reader\Dom */ protected function _getReader() { if (empty($this->_reader)) { $this->_reader = $this->_readerFactory->create(); } return $this->_reader; } /** * {inheritdoc} */ public function load($area) { $cacheId = $area . '::DiConfig'; $data = $this->_cache->load($cacheId); if (!$data) { $data = $this->_getReader()->read($area); $this->_cache->save($this->getSerializer()->serialize($data), $cacheId); } else { $data = $this->getSerializer()->unserialize($data); } return $data; } /** * Get serializer * * @return SerializerInterface * @deprecated 101.0.0 */ private function getSerializer() { if (null === $this->serializer) { $this->serializer = \Magento\Framework\App\ObjectManager::getInstance()->get(Serialize::class); } return $this->serializer; } }