* @license http://ez.no/licenses/new_bsd New BSD License */ require_once 'Base/src/base.php'; /** * Autoload ezc classes * * @param string $className */ function __autoload($className) { ezcBase::autoload($className); } $out = new ezcConsoleOutput(); // Create status bar itself $status = new ezcConsoleStatusbar($out); // Perform actions $i = 0; while ($i++ < 20) { // Do whatever you want to indicate progress for usleep(mt_rand(20000, 2000000)); // Indicate success or failure $status->add((bool) mt_rand(0, 1)); } $out->outputLine(); // Print statistics $out->outputLine($status->getSuccessCount() . ' operations succeeded, ' . $status->getFailureCount() . ' failed.'); /* OUTPUT: +-++++-++++-++-+--+- 13 operations succeeded, 7 failed. */
public function testGetSuccessCount() { $out = new ezcConsoleOutput(); $status = new ezcConsoleStatusbar($out); $this->assertEquals(0, $status->getSuccessCount()); ob_start(); foreach ($this->stati as $statusVal) { $status->add($statusVal); } ob_end_clean(); $this->assertEquals(14, $status->getSuccessCount()); }
<?php require_once 'tutorial_autoload.php'; $output = new ezcConsoleOutput(); $output->formats->success->color = 'green'; $output->formats->failure->color = 'red'; $options = array('successChar' => $output->formatText('+', 'success'), 'failureChar' => $output->formatText('-', 'failure')); $status = new ezcConsoleStatusbar($output, $options); for ($i = 0; $i < 120; $i++) { $nextStatus = (bool) mt_rand(0, 1); $status->add($nextStatus); usleep(mt_rand(200, 2000)); } $output->outputLine(); $output->outputLine('Successes: ' . $status->getSuccessCount() . ', Failures: ' . $status->getFailureCount());