У меня есть класс php, который требует, чтобы экземпляр PDO был передан в его конструктор. Код будет примерно таким:
$pdo = new PDO($host, $username, $password);
$myclass = new myClass($pdo);
Проблема, которую я имею, заключается в интеграции этого с CI. CI автоматически загружает свой класс базы данных, который обрабатывает все соединения с БД и доступен с помощью
$this->db->
Было бы очень просто, если бы мне удалось создать экземпляр myClass с объектом базы данных CI, но, похоже, он содержит гораздо больше материала, чем просто экземпляр PDO. Я пробовал
$myClass = new myClass($this->db);
и ему это совсем не нравится. Я понимаю, что мог бы переписать myClass для прямого доступа к объекту CI db (т. Е. Без необходимости передавать ему новое соединение), но я действительно не хочу начинать это гигантское начинание!
Итак, есть ли способ использовать класс CI db для этой цели? Будет ли какая-то разница, если я просто создаю новый экземпляр PDO, как указано выше, если библиотека базы данных CI уже загружена?