Глоссарий

Fibers (PHP 8.1)

Fibers — примитивы конкурентного выполнения в PHP 8.1. Fiber — лёгкий «поток», которым можно управлять вручную: приостанавливать (suspend) и возобновлять (resume). Основа для асинхронного PHP без расширений.

Как это работает

$fiber = new Fiber(function (): void {
  $value = Fiber::suspend('first'); // приостановить, вернуть 'first'
  echo "Resumed with: $value\n";
});

$result = $fiber->start();          // 'first'
$fiber->resume('hello');            // Resumed with: hello

Fiber vs Generator

На практике

Fibers — низкоуровневый примитив. Конечный разработчик обычно работает через библиотеки (ReactPHP, Amp, Swoole), а не напрямую. Но они — основа, на которой эти библиотеки строят async/await-стиль в PHP.