$这个问题在PHP 7.1.9
问题描述:
我有一个类,我正在使用$ 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
编辑:我得到的错误是致命错误:未捕获的错误:用$这个时候不是在对象上下文
忘了补充一点,这是一个漫长昨天的一天。 :)
答
挖掘到错误后,我发现呼叫在做这样的:
user_BL::getCurrentUserFromSession();
这似乎是这个问题。像这样调用:
$userbl = new user_BL();
$userbl->getCurrentUserFromSession();
更正此错误。 感谢大家的帮助。
+1
随时将您的答案标记为已接受,以便其他人知道这已得到解决。 –
你得到的错误是什么?你有一个语法错误(可能是编辑代码片段?)'astlogindetails ['logindatetime'];'缺少第一个字符,'$ l' – ishegg
尝试parent :: getLastLoginDetailsAsArray(); – episch
你是否初始化了“__constructor()”,如果你没有设置这个,可能会造成$ this这个问题。 – 2017-10-06 22:36:14