PHP Многозадачность / Многопоточность - PullRequest
2 голосов
/ 04 августа 2020

Я имею дело с этим впервые, поэтому не знаю, как это реализовать. Итак, я получаю данные через XML канал с URL-адреса, и мой код сейчас выглядит так:

$products_url = ‘here comes URL to XML’;
$products = DcXmlToArray($products_url);
if(isset($products[‘product’]) && !empty($products[‘product’])) {

foreach($products[‘product’] as $key => $product) {

  $img_url = 'another URL for images...'; 
  $images = DcXmlToArray($img_url);
           foreach($images['image'] as $image) {
              //doing some work in here
            }
}

функция DcXmlToArray выглядит так:

function DcXmlToArray($url) {
$xml = simplexml_load_file($url, ‘SimpleXMLElement’,LIBXML_NOCDATA);
$json = json_encode($xml);
$arr = json_decode($json,true);
return $arr;
}

И все это работает очень медленно (особенно из-за этого URL-адреса с изображениями), и я связался со службой поддержки, и там они сказали мне попробовать многопоточность, и они дали мне это LINK

Но я не уверен, как реализовать это в моем код. Спасибо.

...