Yazılım Geliştirme
1 dakika okuma
PHP 8.3 Fiber API ile Asenkron Programlama
PHP 8.3 Fiber API: temel kullanim ve paralel HTTP istekleri.
E
Emre Cihan PHP Fiber Nedir
PHP 8.1 ile gelen Fiber API kooperatif coklu gorev imkani sunar.
Temel Kullanim
$fiber = new Fiber(function(): string {
$v = Fiber::suspend("askida");
return "Alinan: " . $v;
});
$askida = $fiber->start();
$sonuc = $fiber->resume("ok");
echo $fiber->getReturn();
Paralel HTTP
function http_get(string $url): void {
$ctx = stream_context_create(["http" => ["timeout" => 10]]);
$akis = fopen($url, "r", false, $ctx);
while (!feof($akis)) {
fread($akis, 8192);
Fiber::suspend();
}
fclose($akis);
}
$urls = ["https://api.ornek.com/a", "https://api.ornek.com/b"];
$fs = [];
foreach ($urls as $u) { $f = new Fiber("http_get"); $f->start($u); $fs[] = $f; }
while (count(array_filter($fs, fn($f) => !$f->isTerminated()))) {
foreach ($fs as $f) { if ($f->isSuspended()) $f->resume(); }
}
Fiber API PHP'de asenkron programlamanin onunu aciyor.
Etiketler:
#PHP
Paylaş:
Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı
İlgili yazılar