Не смотря на то, что цикл выпуска мажерных версий Laravel теперь 1 год (раньше было 6 месяцев), минорный версии и патч релизы выходят каждый вторник!
Сначала обзор новинок в Laravel за последние пол года. Sail - инфраструктура для локальной разработки с помощью Docker https://laravel.com/docs/8.x/sail
Для Laravel Breeze теперь есть поддержка Inetrtia https://laravel.com/docs/8.x/starter-kits#laravel-breeze
Полезная фича с точки зрения безопасности: fluent интерфейс при тестировании json по умолчанию проверяет, что в json структуре нет никаких лишних полей. Например: разработчик добавил поле в модель и теперь это поле "утекает" - тесты упадут, т.к. появислось неожиданное поле!
В итоге Тейлор пришел к выводу, что все любят СКОРОСТЬ. Любое улучшение связанное с производительностью зайдёт на ура.
php-fpm архитектура shared nothing реально удобна для разработчика. С друго стороны swoole и Road Runner тоже классные инструменты. И не стоит бояться утечек памяти. Утечки у нас и так уже могут случаться в обработчиках очередей.
Последние несколько недель Тейлор занимался тюнингом Laravel, чтобы фреймворк надёжно работал под такими application серверами как Swoole и Road Runner
Пакет Laravel Octane предоставляет удобную инфрастуктуру для запуска, несколько настроек:
При изменении кода нужно перезапустить сервер
arisan octane:reload, но это может быстро надоесть, поэтому Тейлор позаботился о Hot Reloading: artisan octane:start --workers=8 --watch (работает и для Swoole и для Road Runner)Если утечки памяти всё-таки запарят, можно указать число запросов после которого воркер перезапустится:
--max-requests=1000