update() 공개 메소드

Updates current progress Saves new metrics in the registry
public update ( integer $current )
$current integer
예제 #1
0
파일: index.php 프로젝트: vitormattos/a21
<?php

use ProgressBar\Manager;
require 'vendor/autoload.php';
$json = json_decode(file_get_contents('a21.json'), true);
$db = new PDO('sqlite:a21.sqlite3');
$book = $db->query('SELECT * FROM book;');
while ($row = $book->fetch(\PDO::FETCH_ASSOC)) {
    $books[utf8_decode($row['name'])] = $row['id'];
}
$progressBar = new Manager(0, count($json['pages']));
foreach ($json['pages'] as $key => $page) {
    $progressBar->update($key);
    $db->prepare('INSERT INTO verse (book_id,chapter,verse,text) ' . 'VALUES (:book_id, :chapter, :verse, :text);')->execute(array(':book_id' => $page['id'], ':chapter' => $page['cap'], ':verse' => $page['tags'], ':text' => preg_replace('/<b>.*<\\/b>[ ]{0,}/', '', $page['text'])));
}
 /**
  * Tests ETA
  */
 public function testEta()
 {
     $manager = new Manager(0, 10, 120);
     $manager->setFormat('%eta%');
     $advancement = array(0 => time() - 2);
     $manager->getRegistry()->setValue('advancement', $advancement);
     $manager->update(1);
     $this->assertRegExp("/00:00:18\\s+\\r/", ob_get_contents());
 }