Subversion Repositories Applications.framework

Compare Revisions

Regard whitespace Rev 315 → Rev 316

/branches/v0.3-aleaume/framework/Chronometre.php
26,7 → 26,16
* @return int le temps écoulé
*/
private static function getTemps($cle = null) {
$temps = (is_null($cle)) ? self::$temps : self::$temps[$cle];
if (is_null($cle)) {
$temps = self::$temps;
} else {
foreach (self::$temps as $temps_enrg) {
if (isset($temps_enrg[$cle])) {
$temps = $temps_enrg;
break;
}
}
}
return $temps;
}
 
51,7 → 60,9
* @return null
*/
public static function chrono($cle = null) {
$cle = ($cle == null) ? self::$pointArretNumero++ : $cle;
if ($cle == null) {
$cle = (count(self::$temps) == 0) ? 'Début' : self::$pointArretNumero++;
}
$moment = microtime();
self::setTemps($cle, $moment);
}
73,23 → 84,24
* @return string la chaine XHTML de mesure des temps.
*/
public static function afficherChrono($cle = null) {
if (count(self::$temps) == 0) {
$sortie = "Aucun chronométrage à l'aide de Chronometre::chrono() n'a été réalisé.";
} else {
// Création du chrono de fin
self::chrono();
self::chrono('Fin');
 
$total_tps_ecoule = 0;
$tps_debut = null;
$tbody = '';
foreach (self::getTemps() as $temps) {
foreach ($temps as $cle => $valeur) {
// Récupération de la premiére mesure
$tab_depart = self::getTemps(0);
list ($usec, $sec) = explode(' ', $tab_depart['depart']);
if (is_null($tps_debut)) {
$tps_debut = self::getMicroTime($valeur);
}
// Récupération de la mesure courrante
$tps_fin = self::getMicroTime($valeur);
 
// Ce temps correspond à tps_fin
$tps_debut = ((float) $usec + (float) $sec);
$tbody = '';
foreach (self::getTemps() as $tab_temps) {
foreach ($tab_temps as $cle => $valeur) {
list ($usec, $sec) = explode(' ', $valeur);
$tps_fin = ((float) $usec + (float) $sec);
 
$tps_ecoule = abs($tps_fin - $tps_debut);
$total_tps_ecoule += $tps_ecoule;
$tps_debut = $tps_fin;
114,8 → 126,13
' <tr><th>Total du temps écoulé (en s.)</th><td colspan="2">'.$total_tps_ecoule_final_fmt.'</td></tr>'."\n".
'</tfoot>'."\n".
'</table>'."\n";
 
}
return $sortie;
}
private static function getMicroTime($utps) {
list($usec, $sec) = explode(' ', $utps);
return ((float)$usec + (float)$sec);
}
}
?>