Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DependencyUpdaterPlugin.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
13 use Magento\CatalogInventory\Model\Indexer\Stock\Processor as CatalogInventoryStockIndexer;
14 
24 {
28  private $config;
29 
33  public function __construct(Config $config)
34  {
35  $this->config = $config;
36  }
37 
48  public function afterGetIndexerIdsToRunBefore(Provider $provider, array $dependencies, string $indexerId): array
49  {
50  if ($this->isFilteringNeeded($indexerId, CatalogSearchFulltextIndexer::INDEXER_ID)) {
51  $dependencies = array_diff($dependencies, [CatalogInventoryStockIndexer::INDEXER_ID]);
52  }
53 
54  return $dependencies;
55  }
56 
67  public function afterGetIndexerIdsToRunAfter(Provider $provider, array $dependencies, string $indexerId): array
68  {
69  if ($this->isFilteringNeeded($indexerId, CatalogInventoryStockIndexer::INDEXER_ID)) {
70  $dependencies = array_diff($dependencies, [CatalogSearchFulltextIndexer::INDEXER_ID]);
71  }
72 
73  return $dependencies;
74  }
75 
81  private function isFilteringNeeded(string $currentIndexerId, string $targetIndexerId): bool
82  {
83  return (!$this->config->isElasticsearchEnabled() && $targetIndexerId === $currentIndexerId);
84  }
85 }
afterGetIndexerIdsToRunBefore(Provider $provider, array $dependencies, string $indexerId)
$config
Definition: fraud_order.php:17
afterGetIndexerIdsToRunAfter(Provider $provider, array $dependencies, string $indexerId)