Я ищу некоторые отзывы о следующем:
В настоящее время у меня есть два класса, которые используются в моем приложении 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
каждый раз, если у вас нет веских оснований.