Объекты PDO в классах

Я ищу некоторые отзывы о следующем:

В настоящее время у меня есть два класса, которые используются в моем приложении PHP.

Класс подключения к базе данных, который в настоящее время использует MySQL (но переключается на PDO ).

Другой класс (с несколькими функциями), который требует функциональности базы данных.

Я ищу лучший способ его разработки, я читал о синглонах (с очень неоднозначными отзывами), читал примеры, когда объекты просто объявлялись new для каждого метода (функции класса) и примерами, где было назначено соединение к частной переменной как часть метода __constructor для каждого класса (затем ссылается на $this-> ).

Итак, как все это делают? Я надеюсь, что вы будете достаточно любезны, чтобы, возможно, привести пример, а также приветствовать мнения о том, что читали другие.

У меня есть два отдельных класса, в двух отдельных файлах. Я хочу сохранить чистый код, уменьшить ненужные накладные расходы на БД и избежать того, что можно считать устаревшим (например, глобальными).

Solutions Collecting From Web of "Объекты PDO в классах"

Класс Database , который отвечает за подключение, должен быть подключен к базе данных, создавая новый экземпляр PDO и сохраняя его в поле сам по себе .

 class Database { private $pdo; public __construct() { $this->pdo = new PDO(...); } } 

Второй класс, который не заботится о том, откуда подключается БД, просто нуждается в его работе, должен быть введен в класс Database :

 class WorkerClass { private $db; public __construct(Database $db) { $this->db = $db; } } 

Я всегда создавал его в __constructor а затем использовал $this-> для этого. Это должно работать для ваших нужд, но я бы посоветовал вам поиграть с разными стилями и посмотреть, что лучше всего работает.

Я бы никогда не создавал новый объект с new каждый раз, если у вас нет веских оснований.