Estoy trabajando en una aplicación web PHP y necesito realizar algunas operaciones de red en la solicitud, como buscar a alguien del servidor remoto según la solicitud del usuario.
¿Es posible simular un comportamiento asincrónico en PHP dado que tengo que pasar algunos datos a una función y también necesito una salida de ella?
Mi código es como:
<?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;
?>
Cada operación de red tarda alrededor de 5 segundos en completarse, agregando un total de 15 segundos al tiempo de respuesta de mi aplicación dado que hago 3 solicitudes.
La función makeNetworkCall () solo realiza una solicitud HTTP POST.
El servidor remoto es una API de terceros, por lo que no tengo ningún control allí.
PD: Por favor no responda dando sugerencias sobre AJAX u otras cosas. Actualmente estoy buscando si puedo hacer esto a través de PHP, puede ser con una extensión de C ++ o algo así.
CURL
para disparar solicitudes y obtener algunos datos de la web ...