![]() 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/module-integration/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Integration\Model; use Magento\Framework\App\ObjectManager; use Magento\Framework\Serialize\SerializerInterface; use Magento\Integration\Model\Cache\TypeConsolidated; /** * ConsolidatedConfig to deliver information for config-based integrations that use integration.xml */ class ConsolidatedConfig { const CACHE_ID = 'integration-consolidated'; /** * @var \Magento\Framework\App\Cache\Type\Config */ protected $configCacheType; /** * @var \Magento\Integration\Model\Config\Consolidated\Reader */ protected $configReader; /** * Array of integrations * * @var array */ protected $integrations; /** * @var SerializerInterface */ private $serializer; /** * @param Cache\TypeConsolidated $configCacheType * @param Config\Consolidated\Reader $configReader * @param SerializerInterface $serializer */ public function __construct( Cache\TypeConsolidated $configCacheType, Config\Consolidated\Reader $configReader, SerializerInterface $serializer = null ) { $this->configCacheType = $configCacheType; $this->configReader = $configReader; $this->serializer = $serializer ?: ObjectManager::getInstance()->get(SerializerInterface::class); } /** * Return integrations loaded from cache if enabled or from files merged previously * * @return array */ public function getIntegrations() { if (null === $this->integrations) { $integrations = $this->configCacheType->load(self::CACHE_ID); if ($integrations && is_string($integrations)) { $this->integrations = $this->serializer->unserialize($integrations); } else { $this->integrations = $this->configReader->read(); $this->configCacheType->save( $this->serializer->serialize($this->integrations), self::CACHE_ID, [TypeConsolidated::CACHE_TAG] ); } } return $this->integrations; } }