我最近接触了方法链接,并且不确定我在这里所做的是否非法,或者我做错了。我有一个数据库类,例如:
class Database
{
private $connection;
private $resultset, $last_query, $current_row;
function __construct()
{
$this->connect();
}
public function connect()
{
// Connect to the database
}
public function query($query)
{
$this->last_query = $query;
$this->resultset = mysql_query($query, $this->connection);
}
public function fetchObject()
{
$this->current_row = mysql_fetch_object($this->resultset);
return $this->current_row;
}
}
我尝试像这样使用它:
$db->query("SELECT * FROM users WHERE name='JimmyP'")->fetchObject();
我也尝试过
$db->fetchObject()->query("SELECT * FROM users WHERE name='JimmyP'");
但我收到错误:“调用非对象上的成员函数 fetchObject()”
有人可以向我解释一下我在这里做错了什么,因为它与使用方法链接有关。谢谢。
In query()
,你需要返回$this
否则当函数返回时没有任何东西可以链接它
public function query($query)
{
$this->last_query = $query;
$this->resultset = mysql_query($query, $this->connection);
return $this; // <- here
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)