На Главную

Вывод debug информации в ADODB после содержимого

March 1st, 2007 by Yuriy Drozdov

Для того, чтобы получить вывод debug информации в ADODB, необходимо установить debug = true. Тогда будут показываться SQL запросы перед выполнением, а также будут отображаться сообщения об ошибках. Но то, что это все идет перед, собственно, содержимым - меня лично напрягает. Приходиться пролистывать скролингом все эти выводы запросов. Предлагаю вниманию небольшой код, который позволит выводить debug информацию после вывода содержимого страницы.

PHP:
  1. define('ADODB_OUTP', 'debuf_outp'); // указываем для ADODB имя функции, нашего обработчика
  2.  $gMessage = '';
  3. /**
  4. * код функции такой же как и нормального обработчика в ADODB,
  5. * за исключением того, что сообщения пишутся в глобальную переменную
  6. */
  7. function debuf_outp($msg, $newline)
  8. {
  9.   global $gMessage;
  10.   if ($newline) $msg .= "n";
  11.   if (isset($_SERVER['HTTP_USER_AGENT']) || !$newline)
  12.     $gMessage .= $msg;
  13.   else
  14.     $gMessage .= strip_tags($msg);
  15. }
  16.  
  17. /**
  18. * выводим сообщения
  19. */
  20. function debuf_outp_shutdown()
  21. {
  22.   global $gMessage;
  23.   echo $gMessage;
  24. }
  25. /**
  26. * прописываем вызов функции с выводом сообщений после отработки скрипта
  27. */
  28. register_shutdown_function('debuf_outp_shutdown');

Указанный код необходимо поместить перед подключение файла abodb.inc.php.

Автор: Yuriy Drozdov

Похожие статьи:

  • Нет похожих статей

RSS комментариев | Trackback URI

4 Комментариев

2007-03-14 20:23:42

вообщето запросы можно в лог валить, а лучше обвёртку делать для работы с несколькими базами и собственным профайлером логированием sql

Comment by y.drozdov
2007-03-14 20:27:44

Во время разработки - лучше на экран. (имхо)

2007-03-15 16:51:15

не согласен, т.к. это может вызвать проблемы с которыми ты борешься во первых, во вторых если передавать данные используя связку AJAX-JSON, проблем добавится вдвойне

Comment by y.drozdov
2007-03-19 13:00:17

Для AJAX - лог, тут не спорю.

(Вложеность комментариев заканчивается на этом уровне)
 
 
 
 

Извините, комментарии закрыты.