![]() 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-checkout/CustomerData/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Checkout\CustomerData; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\ObjectManagerInterface; use Magento\Quote\Model\Quote\Item; /** * Item pool */ class ItemPool implements ItemPoolInterface { /** * Object Manager * * @var ObjectManagerInterface */ protected $objectManager; /** * Default item id * * @var string */ protected $defaultItemId; /** * Item map. Key is item type, value is item object id in di * * @var array */ protected $itemMap; /** * Construct * * @param ObjectManagerInterface $objectManager * @param string $defaultItemId * @param array $itemMap * @codeCoverageIgnore */ public function __construct( ObjectManagerInterface $objectManager, $defaultItemId, array $itemMap = [] ) { $this->objectManager = $objectManager; $this->defaultItemId = $defaultItemId; $this->itemMap = $itemMap; } /** * {@inheritdoc} * @codeCoverageIgnore */ public function getItemData(Item $item) { return $this->get($item->getProductType())->getItemData($item); } /** * Get section source by name * * @param string $type * @return ItemInterface * @throws LocalizedException */ protected function get($type) { $itemId = isset($this->itemMap[$type]) ? $this->itemMap[$type] : $this->defaultItemId; $item = $this->objectManager->get($itemId); if (!$item instanceof ItemInterface) { throw new LocalizedException( __('%1 doesn\'t extend \Magento\Checkout\CustomerData\ItemInterface', $type) ); } return $item; } }