New file |
0,0 → 1,42 |
<?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++; |
} |
} |
} |
?> |