У меня есть класс, который расширяет PDO:PHP Новый класс продлить экземпляр класса
class MyPDO extends PDO {
}
который имеет некоторые вспомогательные методы, такие как insert()
и update()
. Однако при использовании в дополнение к структуре я обычно имел бы доступ к уже инициализированному экземпляру PDO
.
Как создать экземпляр MyPDO
, чтобы он расширил уже существующий экземпляр PDO
вместо создания нового?
$pdo; # An already existing PDO connection.
$myPdo = new MyPDO(); # Creates a new PDO object
# I want to create a new MyPDO which extends $pdo
$myPdo = new MyPDO() + $pdo; # How would I accomplish this? Reflection?
В основном я не хочу иметь более одного соединения PDO, но хочу иметь дополнительную функциональность MyPDO. Это можно сделать? Может быть, с отражением?
решение
[Состав по наследству ] (http://stackoverflow.com/questions/49002/prefer-composition-over-inheritance). Я никогда не был поклонником расширения основных драйверов базы данных для создания слоев абстракции базы данных. – Mark