![]() 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-catalog/Model/Indexer/Product/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Catalog\Model\Indexer\Product; use Magento\Framework\Indexer\CacheContext; class Eav implements \Magento\Framework\Indexer\ActionInterface, \Magento\Framework\Mview\ActionInterface { /** * @var \Magento\Catalog\Model\Indexer\Product\Eav\Action\Row */ protected $_productEavIndexerRow; /** * @var \Magento\Catalog\Model\Indexer\Product\Eav\Action\Rows */ protected $_productEavIndexerRows; /** * @var \Magento\Catalog\Model\Indexer\Product\Eav\Action\Full */ protected $_productEavIndexerFull; /** * @var \Magento\Framework\Indexer\CacheContext */ private $cacheContext; /** * @param Eav\Action\Row $productEavIndexerRow * @param Eav\Action\Rows $productEavIndexerRows * @param Eav\Action\Full $productEavIndexerFull */ public function __construct( \Magento\Catalog\Model\Indexer\Product\Eav\Action\Row $productEavIndexerRow, \Magento\Catalog\Model\Indexer\Product\Eav\Action\Rows $productEavIndexerRows, \Magento\Catalog\Model\Indexer\Product\Eav\Action\Full $productEavIndexerFull ) { $this->_productEavIndexerRow = $productEavIndexerRow; $this->_productEavIndexerRows = $productEavIndexerRows; $this->_productEavIndexerFull = $productEavIndexerFull; } /** * Execute materialization on ids entities * * @param int[] $ids * @return void */ public function execute($ids) { $this->_productEavIndexerRows->execute($ids); $this->getCacheContext()->registerEntities(\Magento\Catalog\Model\Product::CACHE_TAG, $ids); } /** * Execute full indexation * * @return void */ public function executeFull() { $this->_productEavIndexerFull->execute(); $this->getCacheContext()->registerTags( [ \Magento\Catalog\Model\Category::CACHE_TAG, \Magento\Catalog\Model\Product::CACHE_TAG ] ); } /** * Execute partial indexation by ID list * * @param int[] $ids * @return void */ public function executeList(array $ids) { $this->_productEavIndexerRows->execute($ids); } /** * Execute partial indexation by ID * * @param int $id * @return void */ public function executeRow($id) { $this->_productEavIndexerRow->execute($id); } /** * Get cache context * * @return \Magento\Framework\Indexer\CacheContext * @deprecated 100.0.11 */ protected function getCacheContext() { if (!($this->cacheContext instanceof CacheContext)) { return \Magento\Framework\App\ObjectManager::getInstance()->get(CacheContext::class); } else { return $this->cacheContext; } } }