아래의 두 코드가 서로 다른 결과를 낼 수 있습니까? 내가 예상대로PHP 인스턴스 메소드 대 변수
이 실행됩니다 :
$message = new Message();
$helper->log($message->getMessage());
if(!empty($message->getMessage())){
// do my stuff
}
내가 수정 한 모든 내가 $message->getMessage()
에 $cond
변수를 변경한다는 것입니다 :
$message = new Message();
$cond = $message->getMessage();
$helper->log($cond);
if(!empty($cond)){
// do my stuff
}
내가 나에게 다른 결과를 준 이유를 궁금해 시작하는 곳입니다.
이
는 메시지 클래스의 뱀입니다 :class Message {
private $input;
private $message;
public function Message()
{
$this->input = json_decode(file_get_contents('php://input'), true);
// ...
$this->message = $this->input['entry'][0]['messaging'][0]['message']['text'];
//...
}
}
그리고 이것은 게터 방법입니다 :
public function getMessage()
{
return $this->message;
}
두 번째 경우에서 본 "다른 결과"는 무엇입니까? – Chris
동일한 상황에서 첫 번째 코드는 if 문으로 실행되지만 두 번째 코드는 실행되지 않습니다. 그리고 로그 기능에서도 마찬가지입니다. – szenbalu
'getMessage()'는 멱등합니까? – David