...к нам протянули волокно! - Fibers в PHP 8.1+ - #ГлазамиФрилансера

preview_player
Показать описание
В PHP 8.1 появились файберз (fibers). Что это такое, в чём их цель, как мы будем их использовать в своей работе?

Fibers помогают нам реализовать кооперативную многозадачность на уровне кода. То есть, дают нам возможность запускать две и более задач параллельно. Но означает ли это реальную многозадачность? Нет.

В этом уроке PHP на простых диаграммах и примерах кода мы разберёмся, как же работает новая фича, почему она важна, несмотря на то, что подавляющее большинство из нас... никогда не будет её использовать.

Содержание ролика "...к нам протянули волокно! - Fibers в PHP 8.1+":

00:00 Как зритель подсказал мне тему для нового ролика
02:20 Fibers - не про асинхронность, а про многозадачность вообще
04:00 Многозадачность на уровне операционной системы. Вытесняющая многозадачность
06:45 Fibers - многозадачность на уровне кода
07:20 Корутины, сопрограммы - как это работает? (Рисуем диаграмму)
09:20 Кооперативная многозадачность
10:20 Как добиться реальной многозадачности
12:30 Кооперативная многозадачность подробнее (Продолжаем рисовать диаграмму)
15:00 Как устроен и как работает класс Fiber в PHP 8.1
19:00 Пример кода с использованием fibers
31:10 Так что полезного дают нам fibers в PHP?
31:40 Можно ли из fiber запустить другой fiber? Пример кода
36:10 И что нам со всем этим делать?
37:30 Fibers в reactPHP

Не забывайте, что анонсы новых выпусков можно найти здесь:
Рекомендации по теме
Комментарии
Автор

Как всегда актуально. Изучая скриптовый язык Lua встретил там корутины, задался вопросом - для чего? Ничего не придумав, пошел дальше. А сейчас, посмотрев Ваше видео, задумался, решил вернутся и внимательно изучить этот вопрос! Спасибо!

valeryv
Автор

эх. а на 8-ой минуте так красиво было((( и впринципе понятно почему я в 2024, ничего нигде не слышу про Fiber.

EgorDemeshko
Автор

Конечно хотим! И про fibers и про ReactPHP. Вообще любые мысли и опыт от бывалого разработчика очень нужны и полезны. Спасибо за старания. От меня лайк, подписка и ожидания новой порции годноты.

ЭдуардЕвдокимов-йо
Автор

Спасибо большое! Очень интересно было смотреть, очень понятно. Теперь все ясно) Пишите видео еще!

StrangerWolf-xz
Автор

Как всегда глубоко и интересно, пасиб)

kindy
Автор

Не обязательно но брэйк поинты ставить на каждую строку, вполне достаточно одной, а потом идти по шагам выполнения

KaBaJIb
Автор

Мой Хотей сказал - дайте ещё)
Пример применения файбера в окружении Ларавел на реальной задаче, наприммер, обработка каких-нибудь тяжелых вычислений... через запуск очереди команд..😊

Hairypro
Автор

Мотивация установить xdebug, вроде годнота.

chingiskuular
Автор

Я правильно понимаю что Fiber это сахар на yield?

freeFHH
Автор

Пример, конечно, не очень понятен в плане преимуществ. Ясно, что он делает, но чем отличается от обычного вложенного цикла? Об этом бы поговорить

neznaika
Автор

Охх, хз когда php полноценно станет асинхронным. Работаю на php (Laravel) уже 2 года и понял что не так все радужно как начиналось. Чтобы в Java выполнить асинхронно задачу, достаточно написать async, а у нас её по сути как таковой нет. Мы мучаемся с Redis, RabbitMQ и т.д. Жду когда добавят асинхронность и job-ы по сути уже будут не нужны = )

ДенисЕлисеев-нц
Автор

Сложилось ощущение, что в PHP 8.1 интегрировали Ларавелевские Джобы... В любом случае это очень полезное новшество.

mrsashalg