Я работаю над веб-приложением PHP, и мне нужно выполнить некоторые сетевые операции в запросе, например, выбор кого-то из удаленного сервера на основе пользовательского запроса.
Можно ли моделировать асинхронное поведение в PHP, учитывая, что мне нужно передать некоторые данные функции, а также получить вывод из нее.
Мой код похож:
<?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;
?>
Каждая операция сети занимает около 5 секунд, чтобы завершить добавление в общей сложности 15 секунд к времени отклика моего приложения, если я сделаю 3 запроса.
Функция makeNetworkCall() выполняет запрос HTTP POST.
Удаленный сервер является сторонним API, поэтому я не могу контролировать его.
PS: Пожалуйста, не отвечайте на предложения о AJAX или других вещах. В настоящее время я смотрю, могу ли я это сделать через PHP, может быть с расширением С++ или что-то в этом роде.