PHP 8.1 Fibers – brauch ich das eigentlich?
Als PHP 8.1 Fibers angekündigt hat, war ich skeptisch. Nebenläufigkeit in PHP – wozu? PHP ist synchron, das ist sein Modell, das funktioniert. Warum jetzt Coroutines?
Nach einer Woche Experimentieren ist meine Meinung: für die meisten PHP-Projekte braucht man Fibers nicht. Aber für spezifische Anwendungsfälle sind sie tatsächlich elegant.
Was Fibers sind
Fibers sind leichtgewichtige kooperative Multitasking-Einheiten. Kein echtes Threading – PHP bleibt single-threaded. Aber man kann eine Fiber pausieren (Fiber::suspend()) und später fortsetzen ($fiber->resume()). Das erlaubt es lang-laufende Operationen aufzuteilen ohne den gesamten Prozess zu blockieren.
Wann Fibers Sinn machen
In Kombination mit Event-Loop-Bibliotheken wie ReactPHP oder Swoole, wenn man viele gleichzeitige I/O-Operationen hat – Datenbankabfragen, HTTP-Requests, File-Reads – die unabhängig voneinander sind. Statt sequentiell zu warten kann man zwischen ihnen wechseln.
Für Standard-Webanwendungen mit Request-Response-Zyklus: nicht nötig. Für lang-laufende Prozesse, Worker, oder Systeme mit hoher Parallelität: einen Blick wert. In allen anderen Fällen: nimm einen Job-Queue und gut ist.
← zurück zu PHP 📂 Archiv