Возможно, что два приведенных ниже кода дают разные результаты?Метод экземпляра 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'];
//...
}
}
И это метод геттер:
public function getMessage()
{
return $this->message;
}
Что такое «другой результат», который вы видели во втором случае? – Chris
В тех же обстоятельствах первый код запускается в оператор if, а второй - нет. То же самое и в функции журнала. – szenbalu
Является ли 'getMessage()' idempotent? – David