Потратив полчаса на то, чтобы найти правильное и понятное название для этого вопроса, я наконец сдался. Извиняюсь за это, я не являюсь носителем английского языка.
В любом случае, речь идет об использовании определенного класса, который будет расширен несколько раз, а не множественного наследования. Итак, представьте себе два класса репозитория, вызываемых из одной и той же функции:
public function someFunction()
{
$qp = QuestionRepository();
$cp = CommentRepository();
}
, а хранилище вопросов выглядит так:
class QuestionRepository extends PDO
{
public function __construct()
{
parent::__construct();
}
}
Репозиторий комментариев выглядит так:
class CommentRepository extends PDO
{
public function __construct()
{
parent::__construct();
}
}
тогда как класс PDO такой:
class PDO
{
public function __construct()
{
$pdo = new PDO(...);
}
}
Таким образом, класс PDO
в основном расширяется дважды, поэтому инициируется два экземпляра PDO. Однако вопрос заключается в том, означает ли это 2 разных соединения с mysql - что приведет к снижению производительности, или pdo распознает наличие живого соединения, поэтому просто игнорирует второй экземпляр?