예제 #1
0
파일: import.php 프로젝트: pdt256/vbscraper
<?php

use Doctrine\Common\Cache\ArrayCache;
use pdt256\vbscraper\Lib\DoctrineHelper;
use pdt256\vbscraper\Service\BvbInfoScraper;
use pdt256\vbscraper\Service\Import\MatchImporter;
error_reporting(E_ALL);
date_default_timezone_set('UTC');
ini_set('memory_limit', '256M');
require_once __DIR__ . '/../vendor/autoload.php';
$doctrine = new DoctrineHelper(new ArrayCache());
$doctrine->setup(['driver' => 'pdo_sqlite', 'path' => __DIR__ . '/../data/db.sqlite']);
$doctrine->clearDB();
class LiveImport
{
    public $bvbBase = 'http://bvbinfo.com/';
    /** @var MatchImporter */
    private $matchImporter;
    public function __construct(DoctrineHelper $doctrine)
    {
        $this->matchImporter = new MatchImporter($doctrine->repository()->getMatch(), $doctrine->repository()->getTeam(), $doctrine->repository()->getPlayer());
    }
    public function execute()
    {
        $content = file_get_contents($this->bvbBase . 'season.asp');
        $seasonUrls = BvbInfoScraper::getSeasonUrls($content);
        foreach (array_reverse($seasonUrls) as $seasonUrl) {
            $seasonUrl = $this->bvbBase . $seasonUrl;
            $this->importSeason($seasonUrl);
        }
    }
예제 #2
0
 private function getConnection()
 {
     $this->doctrineHelper = new DoctrineHelper(new ArrayCache());
     $this->doctrineHelper->setup(['driver' => 'pdo_sqlite', 'memory' => true]);
     $this->entityManager = $this->doctrineHelper->getEntityManager();
 }