У меня есть класс базы данных, который сконструирован так, что он открывает соединение с базой данных при запуске первого запроса. Должен ли каждый из других классов, используемых для пользователей сайта, групп и т. Д., Создавать каждый объект базы данных? Это облегчает развертывание классов в другом месте; они будут зависеть только от класса базы данных. Это, однако, потребует от меня ввода учетных данных в каждом классе. Другой подход, который кажется мне менее запутанным, - создать объект базы данных и сохранить его в глобальной переменной. Это сокращает количество активных соединений с базой данных и упрощает настройку; учетные данные должны быть установлены только один раз.
Где-то я слышал, что глобальных переменных следует избегать. Каков наилучший практический подход к этому?