Я работаю над веб-приложением 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, может быть с расширением C ++ или чем-то в этом роде.
CURL
для