我有一个扩展PDO的类:
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的附加功能。可以这样做吗?也许与反思?
答案 0 :(得分:0)
最简单的解决方案是在课堂上传递$ pdo
<?php
class MyPDO {
public $pdo;
public function __construct($pdo) {
$this->pdo = $pdo;
}
// your Methods use in the class $this->pdo->foo
}
$myPdo = new MyPDO($pdo);
其他方式......你在pdo上直接扩展mypdo并从mypdo构建实例$ pdo
class MyPDO extends PDO {
public function __construct() {
parent::__construct();
}
#Your additional methodes
}
$pdo = new MyPDO();