我知道这可以通过使用另一个方法名来避免,但我很好奇下面是否可能。
我有这样一个类:(当然它有更多的方法,但它们与问题无关)
class db extends mysqli {
public function query($sql){
$sql = $this->parent->query($sql);
if($this->error){
echo "<script>popup('SQL error bro!');</script>";
}else{
return $sql;
}
}
}
我想做的是从我创建的query()方法中调用原始的mysqli query()方法。有可能吗?或者我要开始重命名了?
我也想指出,这是纯粹的开发使用,我知道用户不应该看到sql错误。我想这样做的原因是,今天我需要将一个表的列名从id更改为vid,然后我的整个系统停止工作,我花了30分钟的研究,我只是想防止将来发生这种情况。
变化
$this->parent->query($sql);
$sql = parent::query($sql);
可能,但可能不是最佳实践:
parent::query($sql)
可以通过调用
来调用父类的方法。parent::query();
参见:http://www.php.net/manual/en/keyword.parent.php