Как правильно написать DB class php?
Вот что вам нужно, там же есть пример для PHP
Сколько же бреда написано.
Вам не нужен синглтон. Вы должны четко разделять грань между тем как данные представлены в php и то, откуда они берутся. Для этого вы можете, например создать класс DB и Repository, который будет принимать экземпляр DB и название таблицы. Вроде как это называется ActiveRecord.
Выгода - вы можете создать еще один Repository, который будет принимать, например, APIBlaBla, и работать с апи какого-то сайта так, будто бы это ваша база данных.
А использование синглтонов в таких вещах, как работа с базами данных/кеш/роутинг/шаблонизация - нарушает все принципы SOLID, ваше приложение будет жестко связано по рукам и ногам.