Я ищу некоторые отзывы о следующем:
В настоящее время у меня есть два класса, которые используются в моем приложении PHP.
Класс подключения к базе данных, который в настоящее время использует MySQL (но переключается на PDO ).
Другой класс (с несколькими функциями), который требует функциональности базы данных.
Я ищу лучший способ его разработки, я читал о синглонах (с очень неоднозначными отзывами), читал примеры, когда объекты просто объявлялись new для каждого метода (функции класса) и примерами, где было назначено соединение к частной переменной как часть метода __constructor для каждого класса (затем ссылается на $this-> ).
Итак, как все это делают? Я надеюсь, что вы будете достаточно любезны, чтобы, возможно, привести пример, а также приветствовать мнения о том, что читали другие.
У меня есть два отдельных класса, в двух отдельных файлах. Я хочу сохранить чистый код, уменьшить ненужные накладные расходы на БД и избежать того, что можно считать устаревшим (например, глобальными).
Класс 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 каждый раз, если у вас нет веских оснований.