что то типа
private $lastping=0;
public function ping() {
if ((time()-$this->lastping)<10) return;
try {
self::$dbInstance->query('SELECT 1');
} catch {
self::$dbInstance=NULL;
self::getDB();
}
$this->lastping=time();
}
Это если ping нужен, я как понимаю у вас standalone приложение, можно наверное этот пинг заставить не каждый раз ping делать, а скажем не чаще раз в 10 сек, чтобы когда много подряд запросов не проверять, а ловить уже исключения (если уж порвалось соединение по причине остановки сервера, например)
upd: реализовал что написал выше, т.к. заметил ответ
@ScorpLeX