這聽起來像你希望是這樣的。
然而,你不應該緩存響應,你應該從響應中捕獲數據(行)。否則,你會遇到指針問題和其他問題。相反,請在結果行上進行任何數據轉換,並以類似的方式存儲它們。
private $_response_cache = null;
public function getResponse($connection)
{
if (is_null($this->_response_cache))
{
$query="select * from test order by date DSC";
$this->_response_cache = $connection ->query($query); //fetch all the data from query
}
return $this->_response_cache;
}
如果你需要靜態,這裏...但更警告。靜態代碼在構造函數之外是有問題的,應謹慎使用。它與單元測試相結合,可能會造成奇怪的副作用 - 有一所大學建議不要使用它,儘管我沒有訂閱該學校,但我確實意識到使用不當會很容易而且很危險。
private static $_response_cache = null;
public function getResponse($connection)
{
if (is_null(self::$_response_cache))
{
$query="select * from test order by date DSC";
self::$_response_cache = $connection ->query($query); //fetch all the data from query
}
return self::$_response_cache;
}
你不能稱它爲5-6次?緩存結果相當簡單,那麼你究竟在問什麼? –
從哪裏調用這個函數?從內部的PHP或AJAX? – niyou
您已經回答了您自己的問題:-) – jeroen