Я прочитал несколько учебных пособий и обсуждений по вышеупомянутой проблеме, но перед тем, как воспользоваться одним из них, мне интересно, является ли мое решение приемлемым.Дело в том, что я не хочу расширять свой класс Db на все мои классы, где я выполняю запросы (кажется странным), согласно одному из предложений, я также не уверен, что конструкторы или собственные экземпляры необходимы.Я не против них, может быть, я просто провел слишком много времени в процедурной вселенной.
Итак, у меня есть классический класс Db с обычными параметрами.Я хочу выполнять запросы внутри других классов, поэтому я решил просто передать PDO в качестве параметра.Могу ли я просто использовать это так, есть ли какие-то откаты?
<?php
include 'db.php'; // usual stuff, returns PDO
$obj = new Db;
$obj->connect();
class User { // in a separate file, normally
public function getUser($obj) {
$res=$obj->connect()->query("SELECT * FROM users");
$row=$res->fetch();
print_r($row);
}
}
$u=new User;
$u->getUser($obj);
?>