我想在Phalcon PHP中实现我自己的数据库方言。我想扩展和覆盖已经为PDO保留的一些函数。这就是我想要做的事情:
class DB extends \Phalcon\Db\Adapter\Pdo\Mysql{
function _construct($connection_variables=array())
{
parent::_construct($connection_variables);
}
function update($table="",$variables="")
{
parent::execute($query);
}
}
所以,当我试图调用模型时:
$this->db->update('test',array('id'=>'1'));
它给出了一个错误陈述:
Fatal error: Declaration of Libraries\DB::update() must be compatible with Phalcon\Db\AdapterInterface::update($table, $fields, $values, $whereCondition = NULL, $dataTypes = NULL) in .....
如何覆盖更新和插入功能? 感谢
答案 0 :(得分:1)
您的update
方法必须与Phalcon\Db\AdapterInterface
界面中声明的方法匹配,它应该是:
function update($table, $fields, $values, $whereCondition = NULL, $dataTypes = NULL)
{
// ...
}
而不是:
function update($table="",$variables="")
{
// ...
}
方法signature/header
必须与interface
中的方法相同。