Sto lavorando su un'applicazione web PHP e ho bisogno di eseguire alcune operazioni di rete nella richiesta come il recupero di qualcuno dal server remoto in base alla richiesta dell'utente.
È possibile simulare un comportamento asincrono in PHP dato che devo passare alcuni dati a una funzione e ho bisogno anche di un output da essa.
Il mio codice è come:
<?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;
?>
Ogni operazione di rete richiede circa 5 secondi per essere completata aggiungendo un totale di 15 secondi al tempo di risposta della mia applicazione dato che faccio 3 richieste.
La funzione makeNetworkCall () esegue semplicemente una richiesta HTTP POST.
Il server remoto è un'API di terze parti, quindi non ho alcun controllo su di esso.
PS: per favore non rispondere dando suggerimenti su AJAX o altre cose. Attualmente sto cercando se posso farlo tramite PHP potrebbe essere con un'estensione C ++ o qualcosa del genere.
CURL
per