- <?php
- /*
- Script par Stéphane Goetz
-
- ce script permet de créer a la volée des
- compteurs de temps d'éxecution
-
- */
-
- class timeStack {
-
- // class constructor
- function timeStack() {
- $this->messages = array();
- }
-
- // class methods
- function open($class) {
- $this->messages[] = array('class' => $class, 'time' => array_sum(explode(' ', microtime())));
- }
-
- function close($class) {
- for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
- if ($this->messages[$i]['class'] == $class) {
- $this->messages[$i]['time'] = round(array_sum(explode(' ', microtime())) - $this->messages[$i]['time'], 4);
- }
- }
- }
-
- function display($class = 'view_all_stacks') {
- if($class == 'view_all_stacks'){
- echo '<table border="1">';
- echo '<tr><th>Nom</th><th>Temps</th></tr>';
- for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
- echo '<tr><td>'.$this->messages[$i]['class'].'</td><td>'.$this->messages[$i]['time'].'</td></td>';
- }
- echo '</table>';
- } else {
- for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
- if ($this->messages[$i]['class'] == $class) {
- echo '<div style="border-color:red;">'.$this->messages[$i]['class'].': '.$this->messages[$i]['time'].'</div>';
- }
- }
- }
- }
-
- function reset() {
- $this->messages = array();
- }
-
- function size($class) {
- $count = 0;
-
- for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
- if ($this->messages[$i]['class'] == $class) {
- $count++;
- }
- }
-
- return $count;
- }
-
-
- }
- ?>
-
- <?
-
- //inclusion et création de la classe
- include('time_stack.php');
- $timeStack = new timeStack;
-
- //ouverture d'un compteur de test
- $timeStack->open('test');
-
- //attente pour le test
- sleep(4);
-
- //fermeture du compteure
- $timeStack->close('test');
-
- //si le compteur test existe
- if ($messageStack->size('test') > 0) {
- //affichage du compteur de test
- $timeStack->display('test');
- }
-
- // si il n'y a pas de paramètre dans la fonction display
- //elle affiche un tableau avec toutes les données
- $timeStack->display();
-
- ?>
<?php
/*
Script par Stéphane Goetz
ce script permet de créer a la volée des
compteurs de temps d'éxecution
*/
class timeStack {
// class constructor
function timeStack() {
$this->messages = array();
}
// class methods
function open($class) {
$this->messages[] = array('class' => $class, 'time' => array_sum(explode(' ', microtime())));
}
function close($class) {
for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
if ($this->messages[$i]['class'] == $class) {
$this->messages[$i]['time'] = round(array_sum(explode(' ', microtime())) - $this->messages[$i]['time'], 4);
}
}
}
function display($class = 'view_all_stacks') {
if($class == 'view_all_stacks'){
echo '<table border="1">';
echo '<tr><th>Nom</th><th>Temps</th></tr>';
for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
echo '<tr><td>'.$this->messages[$i]['class'].'</td><td>'.$this->messages[$i]['time'].'</td></td>';
}
echo '</table>';
} else {
for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
if ($this->messages[$i]['class'] == $class) {
echo '<div style="border-color:red;">'.$this->messages[$i]['class'].': '.$this->messages[$i]['time'].'</div>';
}
}
}
}
function reset() {
$this->messages = array();
}
function size($class) {
$count = 0;
for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
if ($this->messages[$i]['class'] == $class) {
$count++;
}
}
return $count;
}
}
?>
<?
//inclusion et création de la classe
include('time_stack.php');
$timeStack = new timeStack;
//ouverture d'un compteur de test
$timeStack->open('test');
//attente pour le test
sleep(4);
//fermeture du compteure
$timeStack->close('test');
//si le compteur test existe
if ($messageStack->size('test') > 0) {
//affichage du compteur de test
$timeStack->display('test');
}
// si il n'y a pas de paramètre dans la fonction display
//elle affiche un tableau avec toutes les données
$timeStack->display();
?>