这是我到目前为止所提出的:
class SQLite3_extended extends SQLite3 {
public function query($string){
$result = parent::query($string);
if(is_bool($result))
return $result;
else
return new SQLite3Result_extended($this);
}
}
class SQLite3Result_extended extends SQLite3Result {
public function test(){
echo 'SQLite3Result extended successfully!';
}
}
我明白了:致命错误:从上下文'SQLite3_extended
调用私有SQLite3Result :: __ construct()我如何扩展SQLite3Result类?
答案 0 :(得分:0)
你做不到。 SQLite3Result
类只能由SQLite3::query()
在内部实例化;没有办法自己构造这个类或子类的实例。
如果需要可扩展的数据库类,请使用PDO。您可以通过使用PDO::ATTR_STATEMENT_CLASS
参数调用PDO::setAttribute()
来为语句/结果使用自定义子类。作为奖励,它可以使您支持除SQLite之外的数据库引擎。