2017-10-06 8 views
1

나는 5.6에서 7.1로 업그레이드 한 이후로 $ this를 사용하고 있으며, 작동하지 못하는 클래스가있다. 나는 왜 혼란 스럽습니까? 아래 코드 샘플을 참조하십시오.

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를 사용하면 도움이 될 것입니다.

감사합니다,

편집 : catch되지 않은 오류 : 내가지고있어 오류가 치명적인 오류가 $를 사용하여이 개체 컨텍스트에

는 긴을이었다 추가 잊어 버렸하지 않을 때 어제. :)

+5

무엇이 오류입니까? astrollindetails [ 'logindatetime'];'$ l' 첫 문자가 누락되었습니다. – ishegg

+0

try parent : getLastLoginDetailsAsArray(); 구문 오류가 발생했습니다 (스 니펫을 편집했을 가능성이 있습니다). – episch

+0

이것을 설정하지 않았다면 "__constructor()"를 초기화 했습니까? $ this에서 문제가 될 수 있습니다. –

답변

2

오류에 파고 후 나는 호출은 다음과 같이 만들어지고 있었다 발견했습니다

문제가 될 것으로 보인다
user_BL::getCurrentUserFromSession(); 

. 이를 다음과 같이 지정합니다.

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

수정하십시오. 감사합니다 everyones 도움.

+1

답변을 수락 된 것으로 표시하여 다른 사람이 해결되었음을 알립니다. –