Laravel World
8.48K subscribers
1.25K photos
25 videos
9 files
2.08K links
Laravel & PHP news
Download Telegram
Релиз Laravel 9.18
https://github.com/laravel/framework/releases/tag/v9.18.0

также зарелизено:
Laravel 8.83.17
Breeze 1.9.4
Cashier Stripe 13.11.1
Echo 1.12
Horizon 5.9.8
Jetstream 2.8.5
Sail 1.14.11
Spark Stripe 2.3.3
👍12
DB::whenQueryingForLongerThan
новый метод в Laravel 9.18
Срабатывает при превышении заданного порога длительности запроса к базе данных (в миллисекундах). Например, в нём можно отправить уведомление разработчику.
https://laravel.com/docs/9.x/database#monitoring-cumulative-query-time
👍89👎1
Альтернативный синтаксис загрузки отношений в Laravel 9.18
Теперь можно их указывать не только строкой, но и вложенным массивом.
👍89👎1
Релиз Laravel Pint
Минималистичное решение для исправления оформления кода. На основе PHP-CS-Fixer.
https://github.com/laravel/pint
👍53
Если вы используете трейт в Eloquent-модели, то в нём можно создать методы boot[TraitName] и initialize[TraitName]. Они будут вызваны автоматически и могут использоваться для регистрации событий и инициализации модели.
👍76👎1
Шпаргалка по Laravel Lang (переводы)
👍52
Маршрутизация в Laravel только с помощью контроллера через PHP-атрибуты

Атрибуты, новая фича PHP 8, также известные как аннотации, добавляют метаданные в классы, методы и переменные. Используя их, мы можем избежать создания дополнительных файлов маршрутизации и все необходимое сразу задать в одном контроллере, повысив читаемость кода. Нам не понадобятся никакие дополнительные пакеты, важна только версия языка. Давайте разбираться, как всё это работает.

https://laravel.demiart.ru/routing-with-controller-only-using-php-8-attributes/
👎63👍22
Вместо использования одного и того же контроллера в каждом роуте, задайте его в группе. Работает начиная с Laravel 8.80.
👍161👎5
Если хотите узнать, какие миграции уже были выполнены, то используйте команду php artisan migrate:status
👍92
Vite новый дефолтный сборщик фронтенд ресурсов в Laravel. Значительно более быстрый, чем Webpack.
https://laravel-news.com/vite-is-the-default-frontend-asset-bundler-for-laravel-applications

Подробнее о том, что такое Vite и как им пользоваться:

Переход с Laravel Mix на Vite
https://www.dwightwatson.com/posts/migrating-from-laravel-mix-to-vite

Перенос проекта c Webpack на Vite
https://christoph-rumpel.com/2022/6/moving-a-laravel-webpack-project-to-vite

VIte: Автоматически обновляем окно браузера при изменении blade-файлов
https://freek.dev/2277-using-laravel-vite-to-automatically-refresh-your-browser-when-changing-a-blade-file
👍68👎5
В этой статье мы начнем с основ TDD (Test Driven Development. Разработка через тестирование) в Laravel. Нам предстоит освоить:
— Создание API с нуля с упором на базовые фичи CRUD.
— Внедрим TDD с самого начала, чтобы проиллюстрировать, как создавать тестируемые приложения Laravel.

https://habr.com/ru/company/otus/blog/674310/
👍44
А вы знали, что в Laravel 9 есть директивы для вывода атрибутов disabled, checked и selected в соответствующих html-элементах.
👍128
Люди уже начинают устанавливать Laravel 9.19+ и, с изумлением, натыкаются на Vite вместо Laravel Mix. Для тех, кто не хочет вникать в новую фишку фреймворка — можно откатить всё назад по следующей инструкции: https://github.com/laravel/vite-plugin/blob/main/UPGRADE.md#migrating-from-vite-to-laravel-mix
👎32👍30
Динамические blade-компоненты

В Laravel есть возможность использования в blade-шаблонах встроенного компонента dynamic-component. Он удобен, когда выбор компонента для вывода зависит от переменной, то есть до момента выполнения неизвестно, какой компонент будет нужно вывести.

https://laravel.demiart.ru/dynamic-blade-components/
👍29
Не забываем про blade-директивы stack и push, с помощью которых вы можете помещать код в определённые стеки и выводить их скопом в нужных местах. Например, очень удобно для загрузки яваскрипта.
👍76
Laravel скачали уже 200 миллионов раз
👍93
Релиз Laravel Dompdf 2
Пакет для создания PDF из HTML.

Переход на Dompdf версии 2.
Плюс несколько фиксов уязвимостей, включая удалённое выполнение кода.
https://github.com/barryvdh/laravel-dompdf/releases/tag/v2.0.0
👍48
Релиз Laravel 9.20
Changelog, как обычно, запаздывает.
https://github.com/laravel/framework

также зарелизено:
Laravel 8.83.19
Breeze 1.11
Cashier Stripe 13.13
Dusk 6.25
Fortify 1.13.1
Horizon 5.9.9
Installer 4.2.12
Jetstream 2.10
Octane 1.12.15
Vite Plugin 0.4
👍24👎1
Приходилось разбивать локализованные строки на части, что бы добавить в них html-элемент? Или локализовали прямо с тегами?

Есть небольшой лайфхак — используйте markdown-форматирование.

Плюс Notification-классы по умолчанию поддерживают markdown, так что вам даже не нужно будет использовать команду Str::markdown().
👍54