Fibers
PHP 🔴 SeniorDefinition
Primitive de concurrence introduite en PHP 8.1 permettant de suspendre et reprendre l'execution d'un bloc de code. Base des frameworks asynchrones comme Revolt.
Analogie
Comme mettre un livre en pause avec un marque-page pour en lire un autre, puis reprendre exactement ou on s'etait arrete.
Exemple de code
$fiber = new Fiber(function (): void {
$value = Fiber::suspend('paused');
echo "Repris avec: $value";
});
$result = $fiber->start(); // 'paused'
$fiber->resume('hello');
Cas d'usage
Pour construire des bibliotheques asynchrones ou des event loops sans callbacks imbriques.
Anti-pattern
Utiliser les Fibers directement en application au lieu de passer par un framework async.