LazyCollections и PHP генераторы. Как применять на практике
Этот ролик посвящен PHP генераторам и LazyCollection. На примере посмотрим как генераторы могут оптимизировать работу памяти. Уделим внимание где используются генераторы в laravel, как нам их удобно использовать и когда.
#LazyCollections#PHP#laravel#cutcode
---------------------------------------------------------------------------------
🚀📹👨🏫 Как насчет прокачки своих навыков с помощью наших обучающих видеокурсов по web-разработке? Переходи на мой сайт 👇
❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного -
---------------------------------------------------------------------------------
Всех поклонников laravel я приветствую на канале CutCode! Сегодня мы поговорим про PHP генераторы. Про это страшное слово vield и снова реализуем пример, который делают все и каждый в обучающих роликах и статьях. С огромным массивом, который сформирован функцией Range. Но друзья я вас обманываю и на самом деле мы этим заниматься не будем. Есть тысячи уже роликов о генераторах и их чудесном влиянии на память. Все они в рамках примера с массивом, построенным на функции Range. То же самое и про статьи, и про саму документацию. И все вы уже много раз это видели. А кто не видел рекомендую посмотреть или почитать. Но думаю в итоге после изучения вы останетесь довольны - все понял. Но где применять, когда применять все еще знать не будете. И спустя пару часов вовсе о них забудете. Поэтому мы чуток их суть обсудим, буквально парой предложений, но поговорим о конкретном применении. Где они используются в laravel, как нам их удобно использовать и когда. Ну что ж, погнали!
Друзья проблемка. Нам скажем нужно повзаимодействовать с моделями и на их основе что-то посчитать к примеру. И нужны именно модели с кастами и прочим. У нас есть сущность - мы забираем все записи - в данном случае там 10к записей. Сам процесс мы делаем где-нибудь в консольной команде по расписанию и что-то в какой-то сущности высчитывая. В итоге такой запрос у нас на выходе сформируют коллекцию из десяти тысяч моделей. Обратите внимание сколько памяти нам под это потребовалось - аж 30 мегабайт. А здесь только 10к записей. Если говорить о SQL запросах и query builder, то нам на помощь может прийти метод cursor. Давайте им воспользуемся вместо All, а далее углубимся в сам метод. И здесь мы увидим что работает он как раз на генератора вот наш любимый vield. А помогает ему не просто коллекция а Lazy коллекция.
---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
🔔 подпишитесь на YouTube-канал:
📼 Курс по Laravel с нуля:
НАЗВАНИЕНАЗВАНИЕНАЗВАНИЕ
---------------------------------------------------------------------------------
🔗 наш сайт:
📱 Наш telegram-канал:
13 views
26
9
1 year ago 00:07:24 17
LazyCollections и PHP генераторы. Как применять на практике
4 years ago 00:20:23 17
Introduction to Laravel Commands! 👨💻
4 years ago 01:06:37 3
Laravel Worldwide Meetup #1: Joseph Silber & Mohamed Said
5 years ago 00:16:00 34
Что нового в Laravel 6 / Сергей Юдин (Xrom Consulting Group)