Cette classe est rapide et simple à mettre en oeuvre et à utiliser. (Et ne consomme pas de ressource.) Vous retrouverez en pièce jointe les deux fichiers exposés ci-dessous.

Fichier index.php d'utilisation de la class @@<?php

  1. Exemple d'utilisation de class de Chronometrage
  2. Author: JC, Date: 2008-03-29
  1. Inclusion du timer

include('timer.php');

  1. Construction du timer, utilisation de 4chiffre après la virgule,

$timer = new timer(4);

  1. Démarrage du chronometre nommé "main"

$timer->start('main');

  1. codes divers à chronometrer

for ($i=0;$i<1000000;$i++) { $j = $i; }

  1. Arret du chronometre

$timer->stop('main');

  1. Affichage du temp d'execution du code

echo $timer->get('main'); ?>@@

Fichier de la class elle-même @@<?php

  1. Class de chronometrage
  2. Author: JC, Date: 2008-03-29

class timer {

 private $lengh = 0;
 private $timers = array();
 # Constructeur et selection de 3 chiffres après la virgule si ce n'est specifié
 function __construct($lengh=3) {

$this->lengh = $lengh;

 }
 # Démarrage d'un chronometre
 public function start($name='default') {
   $this->timers$name'start' = explode(' ', microtime());
 }
 # Arret d'un chronometre
 public function stop($name='default') {
   $this->timers$name'stop' = explode(' ', microtime());

return isset($this->timers$name'start') ? TRUE : FALSE;

 }
 # Récuperation d'un chronometre
 public function get($name='default') {
   if (!isset($this->timers$name'start')) {

return 0; } if (!isset($this->timers$name'stop')) { $stop_time = explode(' ', microtime()); } else { $stop_time = $this->timers$name'stop'; }

   $current = $stop_time1 - $this->timers$name'start'1;

$current += $stop_time0 - $this->timers$name'start'0;

   return sprintf('%.'.$this->lengh.'f',$current);
 }

} ?>@@

Vous n'êtes pas obligé d'arrêter un chrono pour l'afficher vous pouvez lancer plusieurs chronos, et vous pouvez relancer un chrono même si a deja démarré.