АСИНХРОННОСТЬ PHP 8

PHP 8 представил множество новых возможностей, одной из которых является поддержка асинхронности. Теперь PHP 8 может выполнять несколько задач одновременно, что повышает скорость работы и экономит ресурсы сервера.

Чтобы использовать асинхронность в PHP 8, можно воспользоваться расширением parallel. Оно предоставляет API для выполнения асинхронных задач и работы с параллельными процессами.

Пример использования расширения parallel:

$urls = ['https://example.com', 'https://google.com', 'https://yahoo.com'];$curl_options = [CURLOPT_RETURNTRANSFER => true];$parallel = new parallel\Runtime();$results = $parallel->run(function() use ($urls, $curl_options) { $curl_handlers = []; $mh = curl_multi_init(); foreach ($urls as $url) { $ch = curl_init($url); curl_setopt_array($ch, $curl_options); curl_multi_add_handle($mh, $ch); $curl_handlers[] = $ch; } do { curl_multi_exec($mh, $active); } while ($active > 0); $results = []; foreach ($curl_handlers as $ch) { $results[] = curl_multi_getcontent($ch); curl_multi_remove_handle($mh, $ch); } curl_multi_close($mh); return $results;});print_r($results);

В этом примере идет параллельный запрос нескольких страниц с помощью функции curl_multi_*. Результаты запросов хранятся в массиве $results.

Перевод Битрикс на PHP 8 // Ограничение версии PHP c 01.02.2023

Асинхронность, параллельность или многопоточность — что нужно разработчику?

№48 — Асинхронность в программировании

PHP 8 что ждать

PHP 8.0 - 8.2 - Производительность и фичи

Aсинхронный PHP / Антон Шабовта (Onliner)

Реклама
Новое
Реклама