Команда Laravel випустила версію v12.13.0, яка містить нові можливості, такі як називання затриманих closure, новий тестовий метод assertRedirectBack(), підтримка callback для методу containsOneItem() в колекціях та інші оновлення:
# Новий тестовий метод assertRedirectBack
Райан Чендлер запропонував новий метод assertRedirectBack(), який був доданий до тестового пакету Laravel. Це спростило перевірку редиректу на призначену URL-адресу:
$response->assertRedirectBack();
Цей метод додає ясності при тестуванні сценаріїв, що включають redirect()->back(), і спрощує очікування тестів, схожих на браузерну поведінку.
Деталі дивіться у Запиті на злиття #55635.
# Називання затриманих closure
Вілл Роу додав можливість присвоювати імена затриманим Closure, що спрощує ідентифікацію та управління завданнями у черзі:
dispatch(function () {
// ...
})->name('custom name');
Деталі дивіться у Запиті на злиття #55634.
# Підтримка callback у containsOneItem
Фернандо Гарсія додав можливість передавати Closure у метод containsOneItem(). Це дозволяє реалізувати власну логіку для визначення, чи задовольняє саме один елемент колекції умову:
collect([1, 2, 3])->containsOneItem(fn($value) => $value > 2); // false
Деталі дивіться у Запиті на злиття #55622.
# Примітки до релізу
Повний список нових функцій та оновлень доступний нижче. Також ви можете переглянути різницю між версіями 12.12.0 та 12.13.0 на GitHub. Наступні примітки безпосередньо з журналу змін:
# v12.13.0
- [12.x] Виправлено тип повернення без аргументів у класі запиту від @olivernybroe у https://github.com/laravel/framework/pull/55631
- [12.x] Додано підтримку оцінки callback у методі containsOneItem від @fernandokbs у https://github.com/laravel/framework/pull/55622
- [12.x] Додано генератики до пов'язаних методів та властивостей від @taka-oyama у https://github.com/laravel/framework/pull/55628
- [12.x] Виправлено типографічну помилку у PHPDoc від @AhmedAlaa4611 у https://github.com/laravel/framework/pull/55636
- [12.x] Додано можливість називати затримані closure від @willrowe у https://github.com/laravel/framework/pull/55634
- [12.x] Додано метод
assertRedirectBackвід @ryangjchandler у https://github.com/laravel/framework/pull/55635 - [12.x] Додано типи для прив'язок від @cosmastech у https://github.com/laravel/framework/pull/55633
- [12.x] Додано типи PHP Doc для масивів у методах Database\Grammar від @taka-oyama у https://github.com/laravel/framework/pull/55629
- Виправлено знецінення аргументу null у методі trim від @apreiml у https://github.com/laravel/framework/pull/55649
- [12.x] Додано підтримку predis/predis 3.x від @gabrielrbarbosa у https://github.com/laravel/framework/pull/55641
- Оновлення vite з 5.4.18 до 5.4.19 у /src/Illuminate/Foundation/resources/exceptions/renderer від @dependabot у https://github.com/laravel/framework/pull/55655
- [12.x] Виправлено версії predis від @GrahamCampbell у https://github.com/laravel/framework/pull/55654
- [12.x] Підвищено мінімальну версію league/commonmark від @szepeviktor у https://github.com/laravel/framework/pull/55659
- [12.x] Виправлена типографічна помилка у MemoizedStoreTest від @szepeviktor у https://github.com/laravel/framework/pull/55662
- [12.x] Черги подій слухачів з enum-значеннями від @wgriffioen у https://github.com/laravel/framework/pull/55656
- [12.x] Реалізовано метод releaseAfter у middleware RateLimited від @adamjgriffith у https://github.com/laravel/framework/pull/55671
- [12.x] Поліпшено тести кешу від @nuernbergerA у https://github.com/laravel/framework/pull/55670
- [12.x] Передавати лише ID моделей до методу Eloquent
whereAttachedToвід @ashleyshenton у https://github.com/laravel/framework/pull/55666 - функція(bus): дозволити додавання кількох завдань до ланцюга від @dallyger у https://github.com/laravel/framework/pull/55668
- [12.x] Додано генератики до колонки методу QueryBuilder від @taka-oyama у https://github.com/laravel/framework/pull/55663