Pracuję nad aplikacją internetową PHP i muszę wykonać pewne operacje sieciowe w żądaniu, takie jak pobranie kogoś ze zdalnego serwera na podstawie żądania użytkownika.
Czy można symulować zachowanie asynchroniczne w PHP, biorąc pod uwagę, że muszę przekazać pewne dane do funkcji, a także potrzebuję danych wyjściowych z niej.
Mój kod jest taki:
<?php
$data1 = processGETandPOST();
$data2 = processGETandPOST();
$data3 = processGETandPOST();
$response1 = makeNetworkCall($data1);
$response2 = makeNetworkCall($data2);
$response3 = makeNetworkCall($data3);
processNetworkResponse($response1);
processNetworkResponse($response2);
processNetworkResponse($response3);
/*HTML and OTHER UI STUFF HERE*/
exit;
?>
Każda operacja sieciowa trwa około 5 sekund, dodając łącznie 15 sekund do czasu odpowiedzi mojej aplikacji, biorąc pod uwagę, że wykonuję 3 żądania.
Funkcja makeNetworkCall () po prostu wykonuje żądanie HTTP POST.
Serwer zdalny jest interfejsem API innej firmy, więc nie mam nad nim żadnej kontroli.
PS: Proszę nie odpowiadać, podając sugestie dotyczące AJAX lub innych rzeczy. Obecnie szukam, czy mogę to zrobić za pomocą PHP, może być z rozszerzeniem C ++ lub czymś podobnym.
CURL
do odpalenia żądań i pobrania danych z sieci ...