下面的兩個代碼可能會給出不同的結果嗎?PHP實例方法與變量
這將運行如我所料:
$message = new Message();
$cond = $message->getMessage();
$helper->log($cond);
if(!empty($cond)){
// do my stuff
}
這是我開始疑惑,爲什麼給了我不同的結果:
$message = new Message();
$helper->log($message->getMessage());
if(!empty($message->getMessage())){
// do my stuff
}
所有我修改的是,我改變$cond
變量$message->getMessage()
。
這是消息類的大蟒:
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'];
//...
}
}
這是getter方法:
public function getMessage()
{
return $this->message;
}
你在第二種情況下看到的「不同結果」是什麼? – Chris
在相同情況下,第一個代碼會運行到if語句中,但第二個代碼不會。這同樣也是日誌功能中的行爲。 – szenbalu
'getMessage()'是冪等的嗎? – David