Je travaille sur une application web PHP et j'ai besoin d'effectuer certaines opérations de réseau dans la requête comme aller chercher quelqu'un sur un serveur distant en fonction de la requête de l'utilisateur.
Est-il possible de simuler un comportement asynchrone en PHP, étant donné que je dois passer des données à une fonction et que j'ai également besoin d'une sortie de celle-ci.
Mon code est comme :
<?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;
?>
Chaque opération réseau prend environ 5 secondes, ce qui ajoute un total de 15 secondes au temps de réponse de mon application si je fais 3 demandes.
La fonction makeNetworkCall() effectue simplement une requête HTTP POST.
Le serveur distant est une API tierce, je n'ai donc aucun contrôle sur lui.
PS : Veuillez ne pas répondre en donnant des suggestions sur AJAX ou d'autres choses. Je suis actuellement en train de chercher si je peux faire cela à travers PHP, peut-être avec une extension C++ ou quelque chose comme ça.