Lab 01: Fibers & Async
Step 1: Your First Fiber
<?php
$fiber = new Fiber(function(): string {
echo "Fiber: starting\n";
$value = Fiber::suspend('paused here');
echo "Fiber: resumed with '$value'\n";
return 'done';
});
$suspended = $fiber->start(); // Run until first suspend
echo "Main: fiber suspended with '$suspended'\n";
$fiber->resume('hello'); // Resume with a value
echo "Main: fiber returned: " . $fiber->getReturn() . "\n";Fiber: starting
Main: fiber suspended with 'paused here'
Fiber: resumed with 'hello'
Main: fiber returned: doneStep 2: Fiber Lifecycle States
Step 3: Passing Values In and Out
Step 4: Fiber Exception Handling
Step 5: Simple Cooperative Scheduler
Step 6: Coroutine Pipeline Pattern
Step 7: Simulated Async I/O
Step 8: Capstone — Task Runner with Priorities
Summary
Concept
Method/Feature
Notes
Last updated
