花了半個小時找到一個適當的,自我解釋的標題這個問題後,我終於放棄了。對此我表示歉意,我不是以英語爲母語的人。php類多次延伸
無論如何,問題是關於使用一個特定的類來擴展多次 - 不是多重繼承。因此,假設有兩個倉庫類來自同一函數調用:
public function someFunction()
{
$qp = QuestionRepository();
$cp = CommentRepository();
}
和QuestionRepository是這樣的:
class QuestionRepository extends PDO
{
public function __construct()
{
parent::__construct();
}
}
的CommentRepository是這樣的:
class CommentRepository extends PDO
{
public function __construct()
{
parent::__construct();
}
}
而PDO類是像這個:
class PDO
{
public function __construct()
{
$pdo = new PDO(...);
}
}
所以基本上,PDO
類擴展了兩次,因此啓動了兩個PDO實例。然而,問題是這是否意味着2個不同的mysql連接 - 這會導致性能下降,或者pdo認識到存在活動連接,因此它只是忽略第二個實例?
你是否熟悉['static'](http://php.net/manual/en/language.oop5.static.php)和[singleton pattern](http://php.net/manual/en/) language.oop5.patterns.php#language.oop5.patterns.singleton)? –
不是真的,我還在學習。我會給它一張支票 – Shaokan
查看我編輯的評論。單態模式與'static'結合在一起可能特別有用。 –