Example #1
0
if (!is_dir($canonicalProductDirPathname)) {
    die(sprintf("%s\n", 'Please fetch and serialize first'));
}
$dispatcher = new EventDispatcher();
$eventNames = new EventNames();
$fileReader = new Reader();
$domLoader = new DomLoader();
$runner = new Runner($dispatcher, $eventNames, $canonicalProductDirPathname);
$price = new Price();
$product = new Product();
$track = new Track();
$domMapper = new DomProductMapper($product, $track, $price);
$repository = new ProductRepository();
$debugger = new Debugger($dispatcher, $eventNames);
$unserializer = new Unserializer($fileReader, $domLoader, $domMapper);
$populator = new Populator($dispatcher, $eventNames, $unserializer, $repository);
// run
$stopwatch = new Stopwatch();
$stopwatch->start('b3d', 'b3d');
#$debugger->activate();
$populator->activate();
$runner->run();
$event = $stopwatch->stop('b3d');
foreach ($repository->getAll() as $product) {
    echo sprintf("%s\n", $product->getReleaseTitle());
    foreach ($product->getTracks() as $track) {
        #echo sprintf(">> %s\n", $track->getTitle());
    }
}
echo sprintf("%s\n", $event);
echo sprintf("Products: %s\n", count($repository->getAll()));