dziwne zachowanie zmiennych w PHP

głosy
0

Piszę Chatbot na facebooku za pomocą php. Zapytanie z Facebook jest przetwarzanie przez plik PHP. I to jest podobne do tej logiki:

//got request from facebook
foreach ($data['entry'][0]['messaging'] as $message){
  if (checkAnswer($message['sender']['id'], $command)){
      $command = ;
      $command = empty($message['postback']) ? $message['message']['text'] : $message['postback']['payload'];
      $bot->send(new Message($message['sender']['id'], 'Thank you very much for participation!'));
  }
}
function checkAnswer($id, $text){
//some logic;
}

Jeśli dwie wiadomości od różnych osób są wysyłane w jednej chwili jestem obserwując obok. wezwanie checkAnswer funkcyjnego nie jest w kolejce (Rozumiałem go poprzez rejestrowanie procesu wykonania z logowaniem do pliku). Na przykład, może zostać wywołana przez zapytanie 2 (żądanie z Facebook), a prośba 1 nie jest zakończone. I ze względu na to (nie jestem pewien na 100%), zmienna $ id nie zawsze jest taka sama i mam zły algorytm wykonanie ... Plik rejestrowanie rozruchu i zatrzymania jest tutaj:

///////start////////////////////////
01:0:21 PM ID: 250 Text: 2
///////start////////////////////////
01:0:21 PM ID: 352 Text: 1
01:0:22 PM ID: 250 Text: 2
////////stop////////////////////////
01:0:22 PM ID: 352 Text: 1
////////stop////////////////////////

Pracuję z apache2 i php7 i jest to moja pierwsza aplikacja z serwisów internetowych. Czy może Pan podać żadnego pojęcia, jak to jest możliwe, aby to naprawić?

Utwórz 31/01/2017 o 13:44
źródło użytkownik
W innych językach...                            


1 odpowiedzi

dziwne zachowanie zmiennych w PHP

głosy
0

Piszę Chatbot na facebooku za pomocą php. Zapytanie z Facebook jest przetwarzanie przez plik PHP. I to jest podobne do tej logiki:

//got request from facebook
foreach ($data['entry'][0]['messaging'] as $message){
  if (checkAnswer($message['sender']['id'], $command)){
      $command = "";
      $command = empty($message['postback']) ? $message['message']['text'] : $message['postback']['payload'];
      $bot->send(new Message($message['sender']['id'], 'Thank you very much for participation!'));
  }
}
function checkAnswer($id, $text){
//some logic;
}

Jeśli dwie wiadomości od różnych osób są wysyłane w jednej chwili jestem obserwując obok. wezwanie checkAnswer funkcyjnego nie jest w kolejce (Rozumiałem go poprzez rejestrowanie procesu wykonania z logowaniem do pliku). Na przykład, może zostać wywołana przez zapytanie 2 (żądanie z Facebook), a prośba 1 nie jest zakończone. I ze względu na to (nie jestem pewien na 100%), zmienna $ id nie zawsze jest taka sama i mam zły algorytm wykonanie ... Plik rejestrowanie rozruchu i zatrzymania jest tutaj:

///////start////////////////////////
01:0:21 PM ID: 250 Text: 2
///////start////////////////////////
01:0:21 PM ID: 352 Text: 1
01:0:22 PM ID: 250 Text: 2
////////stop////////////////////////
01:0:22 PM ID: 352 Text: 1
////////stop////////////////////////

Pracuję z apache2 i php7 i jest to moja pierwsza aplikacja z serwisów internetowych. Czy może Pan podać żadnego pojęcia, jak to jest możliwe, aby to naprawić?

Odpowiedział 31/01/2017 o 13:44
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more