Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
/**
* La classe fournissant des méthodes communes aux scripts.
*
* @category php 5.2
* @package cel
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @copyright Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version $Id$
*/
class Script {
private static $avancement = array();
/**
* Utiliser cette méthode dans une boucle pour afficher un message suivi du nombre de tour de boucle effectué.
* Vous devrez vous même gérer le retour à la ligne à la sortie de la boucle.
*
* @param string le message d'information.
* @param int le nombre de départ à afficher. Par défaut 0.
* @return void le message est affiché dans la console.
*/
public function afficherAvancement($message, $depart = 0) {
if (! isset(self::$avancement[$message])) {
self::$avancement[$message] = $depart;
print "$message : ";
$actuel =& self::$avancement[$message];
print $actuel++;
} else {
$actuel =& self::$avancement[$message];
// Cas du passage de 99 (= 2 caractères) à 100 (= 3 caractères)
$passage = (strlen((string) ($actuel - 1)) < strlen((string) ($actuel))) ? 1 : 0;
print str_repeat(chr(8), (strlen((string) $actuel) - $passage));
print $actuel++;
}
}
}
?>