私はPHP Webアプリケーションに取り組んでおり、ユーザーのリクエストに基づいてリモートサーバーから誰かを取得するなど、リクエストでいくつかのネットワーク操作を実行する必要があります。
関数にデータを渡す必要があり、関数からの出力も必要な場合、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;
?>
3 つの要求を行うと、各ネットワーク操作が完了するまでに約 5 秒かかり、アプリケーションの応答時間に合計 15 秒追加されます。
makeNetworkCall() 関数は、HTTP POST 要求を実行するだけです。
リモートサーバーはサードパーティの API であるため、そこを制御することはできません。
PS: AJAX やその他についての提案には答えないでください。私は現在、PHPを介してこれを行うことができるかどうかを探しています.C++拡張機能などを使用している可能性があります。