Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StockFactory.php
Go to the documentation of this file.
1 <?php
11 
21 {
25  protected $_objectManager;
26 
32  protected $_defaultIndexer = \Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\DefaultStock::class;
33 
37  public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager)
38  {
39  $this->_objectManager = $objectManager;
40  }
41 
50  public function create($indexerClassName = '', array $data = [])
51  {
52  if (empty($indexerClassName)) {
53  $indexerClassName = $this->_defaultIndexer;
54  }
55  $indexer = $this->_objectManager->create($indexerClassName, $data);
56  if (false == $indexer instanceof \Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\StockInterface) {
57  throw new \InvalidArgumentException(
58  $indexerClassName .
59  ' doesn\'t implement \Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\StockInterface'
60  );
61  }
62  return $indexer;
63  }
64 }
$objectManager
Definition: bootstrap.php:17
__construct(\Magento\Framework\ObjectManagerInterface $objectManager)