PHP RFC: True Async

Проект TrueAsync продвигается через официальный процесс RFC на wiki.php.net. На данный момент опубликованы два RFC, которые описывают базовую модель конкурентности и структурную конкурентность.

RFC #1 — PHP True Async

Автор: Edmond [HT] Версия: 1.7 Целевая версия: PHP 8.6+ Under Discussion

Основной RFC, определяющий модель конкурентности для PHP. Описывает корутины, функции spawn() / await() / suspend(), объект Coroutine, интерфейсы Awaitable и Completable, механизм кооперативной отмены, интеграцию с Fiber, обработку ошибок и graceful shutdown.

Ключевые принципы:

Читать RFC на wiki.php.net →

RFC #2 — Scope и структурная конкурентность

Автор: Edmond [HT] Версия: 1.0 Draft

Расширение базового RFC. Вводит класс Scope, привязывающий время жизни корутин к лексической области видимости. Описывает иерархию scope’ов, распространение ошибок, политику «зомби»-корутин и критические секции через protect().

Что решает:

Читать RFC на wiki.php.net →

Как связаны эти RFC

Первый RFC определяет низкоуровневые примитивы — корутины, базовые функции и C API для расширений. Второй RFC добавляет структурную конкурентность — механизмы управления группами корутин, которые делают конкурентный код безопасным и предсказуемым.

Вместе они формируют полную модель асинхронного программирования для PHP:

  RFC #1: True Async RFC #2: Scope
Уровень Примитивы Управление
Что даёт spawn(), await(), Coroutine Scope, TaskGroup, protect()
Аналогии Go goroutines, Kotlin coroutines Kotlin CoroutineScope, Python TaskGroup
Цель Запуск конкурентного кода Безопасное управление жизненным циклом

Участие в обсуждении

RFC обсуждаются в рассылке internals@lists.php.net и на GitHub Discussions.

Также присоединяйтесь к обсуждению в Discord.