-
Notifications
You must be signed in to change notification settings - Fork 11
debug
goDB позволяет устанавливать свои коллбэки для получения отладочной информации. Единственная доступная отладочная информация на данный момент - информация о выполняемых запросах.
Установить свой слушатель можно с помощью метода setDebug(callback)
.
function mydebug($query, $duration, $info) {
echo 'Debug: query: "'.$query.'", duration='.$duration.'<br />';
}
$db->setDebug('mydebug');
var_dump($db->query('SHOW TABLES')->col());
Будет выведено:
Debug: query: "SHOW TABLES", duration=0.00134301185608
В качестве слушателя можно установить любой callback, включая объект с определённым методом __invoke()
.
После каждого успешного запроса будет вызвана указанная функция со следующими аргументами:
-
string $query
: выполненный SQL-запрос. При использовании шаблона запроса, здесь будет итоговый сформированный SQL-запрос. -
float $duration
: время выполнения запроса в секундах. -
mixed $info
: дополнительная информация, на данный момент неопределённая.
Получить текущий слушатель можно с помощью метода getDebug()
.
Отменить можно с помощью disableDebug()
или просто через setDebug(null)
.
При вызове setDebug
с параметром TRUE
, тексты запросов начинают выводиться просто в поток вывода.
В случае запуска в браузере, запросы приводятся к HTML-виду.
В командной строке - просто выводятся с переходом на новую строку.
Можно не устанавливать слушатель через setDebug()
, а просто указать его в конфигурации:
$params = [
'_adapter' => 'mysql',
'host' => 'localhost',
'username' => 'root',
'_debug' => true,
];