Приветствую. Уже который день ломаю голову как передать экземпляр PDO в родитель модели (чтобы все потомки имели методы для работы с БД, которые, основываются на экземпляре PDO). Был такой вариант:
Не переопределять конструктор в дочерней модели (он унаследуется) и передавать экземпляр PDO в дочернюю аргументом (родительский конструктор будет записывать экземпляр в свойство).
Итог: все вроде бы хорошо, но в моей системе, модель в виде ORM (создается экземпляр в контроллере). В этом случае, нужно, передавать объект подключения из свойства контроллера в конструктор модели (вручную!).
А чтобы экземпляр PDO был в свойстве контроллера нужно:
1) Передавать объект подключения в необходимый контроллер:
$controllerObject = new $controllerName($pdo);
2) При этом, дочерний класс не должен переопределять конструктор родительского контроллера, который записывает экземпляр PDO в свойство:
function __construct($pdo) {
$this->pdo = $pdo;
}
Какие варианты тут могут быть? Как передается объект подключения в популярных MVC CMS и CMF? Заранее благодарю! :)