12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Indexer\Model\Processor;
- use \Magento\Framework\App\CacheInterface;
- class CleanCache
- {
- /**
- * @var \Magento\Framework\Indexer\CacheContext
- */
- protected $context;
- /**
- * @var \Magento\Framework\Event\Manager
- */
- protected $eventManager;
- /**
- * @var \Magento\Framework\App\CacheInterface
- */
- private $cache;
- /**
- * @param \Magento\Framework\Indexer\CacheContext $context
- * @param \Magento\Framework\Event\Manager $eventManager
- */
- public function __construct(
- \Magento\Framework\Indexer\CacheContext $context,
- \Magento\Framework\Event\Manager $eventManager
- ) {
- $this->context = $context;
- $this->eventManager = $eventManager;
- }
- /**
- * Update indexer views
- *
- * @param \Magento\Indexer\Model\Processor $subject
- * @return void
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function afterUpdateMview(\Magento\Indexer\Model\Processor $subject)
- {
- $this->eventManager->dispatch('clean_cache_after_reindex', ['object' => $this->context]);
- if (!empty($this->context->getIdentities())) {
- $this->getCache()->clean($this->context->getIdentities());
- }
- }
- /**
- * Clear cache after reindex all
- *
- * @param \Magento\Indexer\Model\Processor $subject
- * @return void
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function afterReindexAllInvalid(\Magento\Indexer\Model\Processor $subject)
- {
- $this->eventManager->dispatch('clean_cache_by_tags', ['object' => $this->context]);
- if (!empty($this->context->getIdentities())) {
- $this->getCache()->clean($this->context->getIdentities());
- }
- }
- /**
- * Get cache interface
- *
- * @return \Magento\Framework\App\CacheInterface
- * @deprecated 100.1.1
- */
- private function getCache()
- {
- if ($this->cache === null) {
- $this->cache = \Magento\Framework\App\ObjectManager::getInstance()->get(CacheInterface::class);
- }
- return $this->cache;
- }
- }
|