Перейти к контенту

Улучшаем класс Debug


Рекомендуемые сообщения

Вплоть до версии 2.2 этот класс имеет вид:

class Debug
{
function startTimer()
{
	global $starttime;
	$mtime = microtime ();
	$mtime = explode (' ', $mtime);
	$mtime = $mtime[1] + $mtime[0];
	$starttime = $mtime;
}
function endTimer()
{
	global $starttime;
	$mtime = microtime ();
	$mtime = explode (' ', $mtime);
	$mtime = $mtime[1] + $mtime[0];
	$endtime = $mtime;
	$totaltime = round (($endtime - $starttime), 5);
	return $totaltime;
}
}

 

Плох он тем, что переменная $starttime общая для всех инициализаций этого класса, т.е. если мы захотим отмерять за сколько выполнится одна часть скрипта и создадим $mydebug=new Debug; И вызовем $mydebug->startTimer(); то общее время исполнения скрипта будет неправильным.

 

Для того, чтобы такие параллельные засекания работали правильно можно заменить этот класс, который находится в index.php на:

 

class Debug {
var $starttime=0;
function startTimer() {

	$mtime = microtime ();
	$mtime = explode (' ', $mtime);
	$mtime = $mtime[1] + $mtime[0];
	$this->starttime = $mtime;
}
function endTimer() {

	$mtime = microtime ();
	$mtime = explode (' ', $mtime);
	$mtime = $mtime[1] + $mtime[0];
	$endtime = $mtime;
	$totaltime = round (($endtime - $this->starttime), 5);
	return $totaltime;
}
}

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.