require sprintf('%s/bootstrap.php', dirname(__DIR__)); use Kompakt\B3d\Details\Entity\Stock; use Kompakt\B3d\Details\Entity\StockAccount; use Kompakt\B3d\Details\Repository\StockRepository; use Kompakt\B3d\Details\Endpoint\Resource\Stock\Mapper as StockMapper; use Kompakt\B3d\Details\Populator\Cache\PhpFile\StockPopulator as FileStockPopulator; use Kompakt\B3d\Details\Populator\Data\StockPopulator as DataStockPopulator; use Kompakt\B3d\Util\File\Reader; use Kompakt\B3d\Util\File\Writer; use Symfony\Component\Stopwatch\Stopwatch; // config $stockFilePathname = sprintf('%s/php-cache-stock-data/stocks.data', EXAMPLE_KOMPAKT_B3D_TEMP_DIR); // general $fileReader = new Reader(); // entities $stock = new Stock(); $stockAccount = new StockAccount(); // data-mapper $stockMapper = new StockMapper($stock, $stockAccount); // repo $stockRepository = new StockRepository(); // populator $dataStockPopulator = new DataStockPopulator($stockMapper, $stockRepository); $fileStockPopulator = new FileStockPopulator($dataStockPopulator, $fileReader, $stockFilePathname); // run $stopwatch = new Stopwatch(); $stopwatch->start('b3d', 'b3d'); $fileStockPopulator->populate(); $event = $stopwatch->stop('b3d'); foreach ($stockRepository->getAll() as $stock) { echo sprintf("%s\n", $stock->getProductUuid());
protected function addStock(Stock $stock) { $this->productUuids[$stock->getProductUuid()] = $stock; }