TGViewer
PHP Digest PHP Digest @phpdigest · 8.18K subscribers
Post #204 8.4K
Fibers — асинхронному PHP быть?

https://wiki.php.net/rfc/fibers

Мейнтенер Amphp опубликовал RFC по файберам и обновленное расширение с реализацией amphp/ext-fiber.

Проблема асинхронного кода в текущем виде с ReactPHP и Amp в том, что весь код должен быть асинхронным: либо нужно прокидывать yield либо Promise по всей цепочке вызовов.

Файберы решают эту проблему. Это как генераторы, то есть можно прерывать выполнение функций, но файберы не загрязняют стек вызовов и не надо добавлять yield на каждом уровне.

Можно представить файбер как функцию, которая сама хранит в себе стек вызовов и которую можно остановить или продолжить в любой момент.

Предлагается добавить класс Fiber и интерфейс FiberScheduler. Последний это, по сути, ивент луп. Его реализация в PHP 8.1 не предлагается и остается в планах на будущее.

То есть глобально это пока не меняет картину асинхронного PHP: стандартная библиотека все равно блокирующая.

Зато появится официальный стандарт ивент лупа, а разработчики пакетов типа ReactPHP и Amp смогут писать асинхронные обертки проще и быстрее. И использовать их будет приятнее. В общем, хороший первый шаг в направлении.

Примеры тут: https://github.com/amphp/ext-fiber/tree/master/examples

Вероятность принятия: высокая.

______
Спасибо
https://github.com/mmasiukevich за ревью текста.
More from @phpdigest
  1. Jul 8, 2026Первый официальный State of PHP опрос открыт: https://jb.gg/php-survey-2026 В сообществе у…
  2. Jun 16, 2026Swoole AOT переименовали в TypePHP https://mp.weixin.qq.com/s/eGrSd2g-88I4jm6KIdecSw Пока…
  3. Jun 9, 2026PHPverse 2026 🎉🐘 Трансляция из офиса JetBrains в Амстердаме в прямом эфире прямо сейчас…
  4. Jun 5, 2026🎙 PHPverse возвращается – 9 июня, 14:00 (11:00 UTC) https://lp.jetbrains.com/phpverse-202…
  5. Apr 23, 2026Команда Swoole работает над компилятором для PHP https://mp.weixin.qq.com/s/05I3xe4pgRJufS…
  6. Apr 1, 2026Дайджест PHP – Февраль-Март 2026 Подборка свежих новостей, инструментов, видео и материало…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →