2017-10-06 80 views
1

我有一個類,我正在使用$ this,並且從5.6升級到7.1我無法去工作。我很困惑,爲什麼?請參閱下面的代碼示例:

class user_BL extends BLL { 

public function getCurrentUserFromSession($userid) { 
      $userrecord = array(); 

      $query = new query(); 
      $query->addCriteria("userid", $userid , "="); 

      $userrecords = $this->getDataByQueryObj($query, new user_DAL()); 

      if (isset($userrecords[0])){ 
       $userrecord = $userrecords[0]; 
       $lastlogindetails = $this->getLastLoginDetailsAsArray(); 
       $userrecord['logindatetime'] = astlogindetails['logindatetime']; 
      } 

      return $userrecord; 
     } 
} 

getLastLoginDetailsAsArray是BLL基類中的函數。 IDE解釋這個好,並看到它可用。

Anyhelp與這將是非常有益的。

感謝,

Deano

編輯:我得到的錯誤是致命錯誤:未捕獲的錯誤:用$這個時候不是在對象上下文

忘了補充一點,這是一個漫長昨天的一天。 :)

+5

你得到的錯誤是什麼?你有一個語法錯誤(可能是編輯代碼片段?)'astlogindetails ['logindatetime'];'缺少第一個字符,'$ l' – ishegg

+0

嘗試parent :: getLastLoginDetailsAsArray(); – episch

+0

你是否初始化了「__constructor()」,如果你沒有設置這個,可能會造成$ this這個問題。 – 2017-10-06 22:36:14

回答

2

挖掘到錯誤後,我發現呼叫在做這樣的:

user_BL::getCurrentUserFromSession(); 

這似乎是這個問題。像這樣調用:

$userbl = new user_BL(); 
$userbl->getCurrentUserFromSession(); 

更正此錯誤。 感謝大家的幫助。

+1

隨時將您的答案標記爲已接受,以便其他人知道這已得到解決。 –