Я працюю над веб-додатком 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
для запуску запитів та отримання деяких даних з Інтернету ...