Этот класс считает время между метками, очень удобно для нахождения "толстых" мест в скрипте и в последущем равноверном распределении груза по
CMS.
Возможно пригодится кому нибудь.
<?php
/* ================================================== == ##
## COPYRIGHTS © DANNEO PHP TEAM ##
## ================================================== == ##
## PRODUCT : TIMER CLASS ##
## LICENSE : GNU 2(General Public License v.2) ##
## TECHNOLOGIES : PHP ##
## WWW : <span class="inv"><![CDATA[<noindex>]]></span><a href="/redirect.php?url=http://www.danneo.comwww" rel="nofollow" onclick="wo(this.href); return false;">www.danneo.com</a><span class="inv"><![CDATA[</noindex>]]></span> | <span class="inv"><![CDATA[<noindex>]]></span><a href="/redirect.php?url=http://danneo.ruwww" rel="nofollow" onclick="wo(this.href); return false;">danneo.ru</a><span class="inv"><![CDATA[</noindex>]]></span> ##
## ================================================== == */
/* Пример использования DANNEO.TIMER.CLASS
## <?php
## require("danneo.timer.php"); // Подключить класс
## $tr = new timer(); // Создать объект = $tr
## // Старт где danneo.file.php метка для отрезка
## // а include тип
## $tr->start('danneo.file.php','include');
## // Открыть тестовый файл
## include('danneo.file.php');
## // Конец обсчёта по метке danneo.file.php
## $tr->restart('danneo.file.php');
## // Вывод результата
## $tr->out();
## ?>
## Пример использования DANNEO.TIMER.CLASS */
/* ================================================== == ##
## START CLASS TIMER ##
## ================================================== == */
class timer{
/* ================================================== == ##
## VARS CLASS TIMER ##
## ================================================== == */
var $timers=array();
var $total=0;
/* ================================================== == ##
## TIMER FUNCTION | CLASS TIMER ##
## ================================================== == */
function timer(){}
/* ================================================== == ##
## START FUNCTION | CLASS TIMER ##
## ================================================== == */
function start($name='standart',$type=false){
$posit = explode(' ',microtime());
$render = $posit[1].substr($posit[0],1);
if($type==true) $this->timers["$name"]['type']=$type;
$this->timers["$name"]['start']=$render;
}
/* ================================================== == ##
## RESTART FUNCTION | CLASS TIMER ##
## ================================================== == */
function restart($name='standart'){
$posit = explode(' ',microtime());
$render = $posit[1].substr($posit[0],1);
return $this->timers["$name"]['time'] = bcsub($render,$this->timers["$name"]['start'],6);
}
/* ================================================== == ##
## RESTART FUNCTION | CLASS TIMER ##
## ================================================== == */
function out(){
if(!empty($this->timers)){
print('<div style="border:1px solid #cccccc; font-size:11px; font-family:tahoma,verdana,arial; background-color:#f3f3f3; color:#444444; margin:10px; padding:10px; overflow:hidden;">');
foreach($this->timers as $key => $value){
if(isset($value['time']) && isset($key)){
print (($value['type']!=false) ? $value['type'].' : ' : '').'<b>'.$key.'</b> <font color=#A73C3C><b>'.$value['time'].'</b></font><br />';
$this->total+=$value['time'];
}
}
print('Total : <font color=#A73C3C><b>'.$this->total.'</b></font><br />');
print('</div>');
}
}
/* ================================================== == ##
## END CLASS TIMER ##
## ================================================== == */
}
?>