Laravel World
8.47K subscribers
1.25K photos
25 videos
9 files
2.08K links
Laravel & PHP news
Download Telegram
В Laravel 9.32 появился хелпер Benchmark, который позволяет быстро протестировать производительность кода.

https://laravel.com/docs/9.x/helpers#benchmarking
👍223👎1
Релиз Laravel 9.33
Существенно сокращено общее потребление памяти при больших наборах тестов — до 65%, по сравнению с Laravel 9.31.
👍105
Добавление полей в FormRequest после валидации
👍154👎15
Laravel 10 планируется выпустить 7 февраля 2023 года. Посмотрим, что на данный момент о ней известно:

— Фреймворк будет требовать PHP 8.1.

— Будет удалён метод dispatchNow(). Его необходимо заменить на dispatchSync(). Также будут удалены ещё несколько устаревших методов.

— Создание кастомных правил командой make:rule будет по дефолту делать их invokable.

Подробнее об изменениях: https://benjamincrozat.com/what-is-new-laravel-10
👍661
В Laravel 9.34 реализован короткий синтаксис для blade-компонентов

https://laravel.com/docs/9.x/blade#short-attribute-syntax
👍70
С помощью триггеров удобно вести статистику по таблицам базы данных. Это позволит избежать дорогих агрегирующих запросов.

Для уменьшения счетчика можно использовать метод afterDelete.
👎76👍53
Перестаньте использовать SQLite в Unit-тестах

Использование Sqlite в Laravel (или любых других PHP приложениях) для Unit-тестирования может привести к false positive результатам тестов. Тот код который пройдет тесты, не заработает после переезда в production и использования других БД, например, MySQL. Вместо этого разверните тестовую БД с использованием той же технологии и движка, которые будут использоваться вашим приложением в production.

https://habr.com/ru/post/691838/
👍95👎4
Тейлор предлагает обсудить альтернативный синтаксис для отправки почты. Текущий build-метод будет сохранен в любом случае.
https://github.com/laravel/framework/pull/44462
👍65
This media is not supported in your browser
VIEW IN TELEGRAM
TLDR — плагин для PhpStorm, который подключает искусственный интеллект и тот на чистом английском языке объясняет, что делает ваш код.
https://plugins.jetbrains.com/plugin/20050-tldr
👍141👎13
Онлайн-конвертер curl-команд в Laravel Http запрос

https://laravelshift.com/convert-curl-to-http
👍124👎1
В PHP 8.3 появится новая функция json_validate, которая будет определять является ли указанная строка действительно json.
👍215👎6
Эффективное заполнение базы данных с помощью фрагментации

https://tipsea.app/tips/show/22-seeding-your-database-in-a-more-efficient-manner-using-chunking
👍81👎2
Настройка строгого Eloquent-режима в Laravel 9.35

Теперь есть несколько методов, позволяющих настроить «строгость» поведения Eloquent.

preventLazyLoading для отключения ленивой загрузки.

preventSilentlyDiscardingAttributes — выбрасывает исключение при попытки заполнить незаполняемый атрибут.

preventAccessingMissingAttributes — выбрасывает исключение при попытке получить доступ к атрибуту, который не был извлечен из базы или просто не существует.

Одновременно включить все три метода можно через метод shouldBeStrict.

https://laravel.com/docs/9.x/eloquent#configuring-eloquent-strictness
👍742
В Laravel 9.35 добавлен альтернативный синтаксис для отправки почты
https://laravel.com/docs/9.x/mail#writing-mailables
👍38👎4
Новые команды для шифрования файлов среды

В Laravel 9.32 добавлены две новые artisan-команды env:encrypt и env:decrypt.

Эти команды позволяют безопасно хранить шифрованную копию env-файла вашего приложения в системе управления версиями и использовать его для развертывания и передачи разработчикам.

https://blog.laravel.com/laravel-new-environment-encryption-commands
👍57👎6
В Laravel 9.35 наконец-то можно использовать ресурсные маршруты с soft-delete моделями без лишних телодвижений.

https://laravel.com/docs/9.x/controllers#soft-deleted-models
👍56
This media is not supported in your browser
VIEW IN TELEGRAM
JetBrains выкатили публичную бета-версию Fleet — легковесной IDE следующего поколения с совершенно новой архитектурой и интерфейсом.

https://blog.jetbrains.com/fleet/2022/10/introducing-the-fleet-public-preview/
👍77👎10
Метод when принимает третьим аргументом замыкание, которое будет выполнено, если первый аргумент будет false.
👍132👎7