Laravel World
8.46K subscribers
1.26K photos
25 videos
9 files
2.09K links
Laravel & PHP news
Download Telegram
Конструктор запросов имеет метод explain(), который позволяет мгновенно получить план выполнения запроса. Полезно при отладке медленных запросов.
👍121
Вместо использования where() в маршрутах, вы можете задать глобальные паттерны в RouteServiceProvider.
👍127👎6
Релиз Laravel 8.78
https://github.com/laravel/framework/releases/tag/v8.78.0

Также зарелизено:
— Breeze 1.6.1
— Dusk 6.20
— Horizon 5.7.18
— Jetstream 2.5.1
— Octane 1.2.2
— Telescope 4.6.10
👍28
Maduro сделал новый формат вывода команды route:list в Laravel 9.

https://github.com/laravel/framework/pull/40269
👍183👎5
В Laravel есть несколько интересных скрытых трейтов. Например Conditionable, который позволяет использовать методы when и unless в вашем классе. Методы принимают value, callback и default.
Когда условие when истинно, то будет запущен коллбек и возвращён его результат. Если ложь — то вернёт $this или дефолтное значение, если оно указано.
👍100👎3
В Laravel 8.79 добавят полнотекстовой поиск для MySQL и PostgreSQL. Разумеется предварительно нужно создать соответствующие индексы.
👍107
Laravel 9 будет требовать PHP 8. А он уже стоит на ваших серверах?
Anonymous Poll
59%
Да
41%
Нет
👍76👎10
Начата работа над Laravel 10
👍104
Вышла обновленная версия Ignition, которая будет дефолтной страницей ошибок в Laravel 9. Но вы можете уже сейчас установить её для своих проектов на Laravel 8.
https://freek.dev/2168-ignition-the-most-beautiful-error-page-for-laravel-and-php-got-a-major-redesign
👍21
Релиз Laravel 8.80
https://github.com/laravel/framework/releases/tag/v8.80.0

Из интересного:

— Возможность указывать общий Контроллер для группы маршрутов:
Route::controller(OrderController::class)->group(function () {
Route::get('/orders/{id}', 'show');
Route::post('/orders', 'store');
});

—Новый метод сортировки ключей по колбэку sortKeysUsing():
$sorted = $collection->sortKeysUsing('strnatcasecmp');

— Метод Blade::render() для рендера строк:
Blade::render('Hello, {{ $name }}', ['name' => 'Claire']);
// Returns 'Hello, Claire'

Blade::render('@if($foo) Foo @else Bar @endif', ['foo' => true]);
// Returns 'Foo '
👍64
Отображение покрытия кода тестами в Laravel 9:
php artisan test --coverage
👍77
This media is not supported in your browser
VIEW IN TELEGRAM
Пре-релиз Laravel Dumper
Улучшенный вывод команд dump() and dd().
https://github.com/glhd/laravel-dumper
👍34
Laravel 9 — Что нового?

Новая версия фреймворка выйдет 8 февраля 2022 года и будет являться LTS (релиз с долгосрочной поддержкой), то есть основная поддержка будет осуществляться в течении 2 лет, а поддержка безопасности в течении 3 лет.

Релиз содержит следующие нововведения и улучшения: поддержка компонентов Symfony 6, Symfony Mailer, Flysystem 3, улучшенный вывод route:list, драйвера Laravel Scout, новый синтаксис аксессор/мутатор Eloquent и различных других исправлений ошибок и улучшений удобства использования.

Рассмотрим подробнее каждое нововведение:
https://laravel.demiart.ru/laravel-9-whats-new/
👍83👎1
Конференция Laracon 2022 пройдёт онлайн 9 февраля и будет бесплатной для всех!
https://laracon.net/
👍68
Релиз Laravel Slack Alerts
Команда Spatie выпустила новый пакет для отправки уведомлений в Slack.

SlackAlert::to('marketing')->message('We got a new subscriber.');

https://github.com/spatie/laravel-slack-alerts
👍33
Методы find() и findOrFail() позволяют указывать нужные поля вместо использования select().
👍92👎2
Валидация массивов с помощью нового метода Rule::forEach в Laravel 9
👍106👎13
Релиз Larastan 2
Обертка над PHPStan для Laravel. Статический анализатор кода для нахождения ошибок без его запуска.
Ключевая особенность версии — поддержка Laravel 9. Предыдущие версии фреймворка больше не поддерживаются.
https://github.com/nunomaduro/larastan/releases/tag/2.0.0
👍7