Laravel World
8.46K subscribers
1.26K photos
25 videos
9 files
2.09K links
Laravel & PHP news
Download Telegram
Альтернативный синтаксис загрузки отношений в 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
Релиз Laravel 9.21
Обновление сфокусировано на улучшении Artisan. Позже расскажу подробнее.
https://github.com/laravel/framework/releases/tag/v9.21.0

также зарелизены:
Laravel 8.83.20
Breeze 1.11.1
Jetstream 2.10.1
Octane 1.2.16
Scout 9.4.10
Telescope 4.9.1
Vite Plugin 0.5
👍20
В Laravel 9.21 произведен редизайн более чем 100 встроенных artisan-команд.

В следующих обновлениях будет редизайн команд официальных laravel-пакетов. Для реализации этой фишки был использован пакет Termwind, с помощью которого можно легко создавать удобные пользовательские интерфейсы в консоли.

https://blog.laravel.com/laravel-refreshing-artisan/
👍73👎6