Я не знаком с PHP, но закрытие DB-подключений как можно скорее всегда хорошо и не зависит от используемого языка программирования.
Также попытайтесь получить новое соединение с БД как можно позже.
Если вы выполняете транзакционный DML, вам также следует как можно скорее снять блокировки, зафиксировав их как можно скорее (но с опозданием по мере необходимости). Открытие транзакций дольше, чем необходимо, может привести к тому, что другие транзакции будут ожидать этого Эти ожидающие транзакции потребляют соединение каждый раз, не делая ничего, кроме ожидания.
Ваш "DB-Class" звучит как Utility-Class для обработки таких целей.
Посмотрите и на этот вопрос .