Fibers are lightweight coroutines for cooperative multitasking.
$fiber = new Fiber(function(): string {
$value = Fiber::suspend("paused");
echo "Resumed with: $value\n";
return "done";
});
// Start fiber — runs until first suspend
$paused = $fiber->start();
echo $paused; // "paused"
// Resume fiber
$result = $fiber->resume("hello");
// Output: Resumed with: hello
echo $fiber->getReturn(); // "done"
// Fibers are useful for async frameworks (ReactPHP, Swoole)