merkelig oppførsel av variabler i php

stemmer
0

Jeg skriver chatbot for facebook ved hjelp av php. Forespørselen fra Facebook behandler gjennom php fil. Og det er simlar til at logikken:

//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;
}

Hvis to meldinger fra forskjellige personer er sendt i det ene øyeblikket jeg observerer neste. Den checkAnswer funksjons anrop ikke er i køen (I forsto det ved å registrere gjennomføring prosessen med logging til fil). For eksempel kan den bli kalt ved forespørsel 2 (forespørsel fra Facebook), mens en anmodning ikke er fullført. Og på grunn av det (jeg er ikke sikker på om 100%), er variabelen $ id ikke alltid det samme, og jeg har feil algoritmen gjennomføring ... Den logging fil for start og stopp er her:

///////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////////////////////////

Jeg jobber med apache2 og php7 og det er min første søknad med webservices. Kan du gi noen anelse hvordan er det mulig å fikse det?

Publisert på 31/01/2017 klokken 13:44
kilden bruker
På andre språk...                            


1 svar

merkelig oppførsel av variabler i php

stemmer
0

Jeg skriver chatbot for facebook ved hjelp av php. Forespørselen fra Facebook behandler gjennom php fil. Og det er simlar til at logikken:

//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;
}

Hvis to meldinger fra forskjellige personer er sendt i det ene øyeblikket jeg observerer neste. Den checkAnswer funksjons anrop ikke er i køen (I forsto det ved å registrere gjennomføring prosessen med logging til fil). For eksempel kan den bli kalt ved forespørsel 2 (forespørsel fra Facebook), mens en anmodning ikke er fullført. Og på grunn av det (jeg er ikke sikker på om 100%), er variabelen $ id ikke alltid det samme, og jeg har feil algoritmen gjennomføring ... Den logging fil for start og stopp er her:

///////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////////////////////////

Jeg jobber med apache2 og php7 og det er min første søknad med webservices. Kan du gi noen anelse hvordan er det mulig å fikse det?

Svarte 31/01/2017 kl. 13:44
kilden bruker

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