我正在一个使用 mySQL 和 SQLite DB 的项目中工作。我的目标是使代码能够与两种数据库类型一起使用。我使用类开发了 mySQL 的代码,mysqli
现在我想修改它以使其也适用于SQLite3
对象。
SQLite3
mysqli
类实现与(至少,我使用的方法)相同的方法,但有时使用不同的名称。例如,mysqli::fetch_array()
变成SQLite3::fechArray()
。所以我正在扩展 SQLite3 和SQLite3Result
类来实现我需要的方法。例如:
class SQLite3ResultEx extends SQLite3Result {
public function fetch_array() {
return parent::fetchArray();
}
}
问题是我不知道如何扩展类的响应SQLite3
以获得我自己的SQLite3Response
扩展类。我是说:
class SQLite3Ex extends SQLite3 {
public function __construct($filename, $flags = null, $encryption_key = null) {
return parent::__construct($filename, $flags, $encryption_key);
}
public function query($query) {
$res = parent::query($query);
return $res;
}
}
现在$res
是一个SQLite3Result
对象,但我需要它成为一个SQLite3ResultEx
对象(我自己的扩展类)。