Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти
Інше
Події Про нас
Laravel 12.51.0: afterSending(), Validator hooks і timeout() для MySQL
Новини 16 лютого 2026

Laravel 12.51.0: afterSending(), Validator hooks і timeout() для MySQL

Вийшов Laravel 12.51.0. Реліз зосереджений на контрольованій обробці, читабельній валідації та точковому контролі SQL-запитів.

Ключові зміни

  • Notification::afterSending() для post-send логіки по каналах. Метод викликається після фактичної відправки в кожен канал окремо. Зручно оновлювати статуси (notified_at), писати аудит або запускати події.

  • Validator::whenFails() і whenPasses() замість ручних if. Валідація стає флюентною: реакція на fail/pass описується в одному ланцюжку. Особливо корисно в jobs/commands, де немає стандартного HTTP-flow.

  • ->timeout() у Query Builder для MySQL (MAX_EXECUTION_TIME). Додає ліміт часу виконання на рівні конкретного запиту, а не всього з’єднання. Добре для важких пошуків і звітів, де важливо не блокувати БД надовго.

  • Closure у firstOrCreate() / createOrFirst() для lazy-обчислень. Дорогі обчислення виконуються тільки якщо запису ще не існує. Це прибирає зайві API-виклики, геокодування чи обробку файлів.

  • Глобальна подія BatchCancelled для відміни batch-задач. Подія спрацьовує і при ручному cancel, і при автоскасуванні через помилку. Можна централізовано логувати, сповіщати команду або чистити ресурси.

  • Eloquent builder як subquery в update() без toBase(). Тепер Eloquent-підзапити можна передавати напряму, без зайвого перетворення. Код коротший, читабельніший і ближчий до бізнес-логіки.

  • response()->withoutHeader() для видалення HTTP-заголовків. Можна прибрати один або кілька заголовків симетрично до withoutCookie(). Зручно для hardening-відповідей і прибирання службових заголовків у prod.

use Illuminate\Support\Facades\Validator;

Validator::make($data, ['file' => 'required|image'])
	->whenFails(fn () => throw new InvalidArgumentException())
	->whenPasses(fn () => logger('Valid payload'));

$user = User::query()
	->where('email', 'like', '%@company.com')
	->timeout(60)
	->first();

$location = Location::firstOrCreate(
	['address' => $address],
	fn () => ['coordinates' => Geocoder::resolve($address)],
);

return response('ok')
	->withoutHeader(['X-Debug', 'Server']);

Джерело: laravel-news.com/laravel-12-51-0

29

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Laracon US 2026: перший день Рекомендовано
Новини 29 липня 2026

Laracon US 2026: перший день

У Бостоні стартував Laracon US 2026, і запис першого дня вже доступний. Головне з кейноуту: офіційний Laravel LSP для редакторів, Laravel Cloud деплоїть Hono, Flask, Go та Rails, Pest 5 із Tia Engine. Аарон Френсіс приєднався до команди Laravel.

Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM
Новини 29 липня 2026

Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM

На першому дні Laracon US 2026 Нуно Мадуро представив Pest 5. Головне - Tia Engine, що переганяє лише зачеплені змінами тести й скорочує десятихвилинний прогін до кількох секунд, плюс плагіни для AI-агентів, evals, PHPStan і Rector.

Вакансії за темою

Foxstone
6 дн. тому

Senior PHP Backend Developer (AI-First) - Laravel

Senior PHP Backend Developer з фокусом на AI-інструменти. Розробка масштабованих Laravel backend-додатків з TDD підходом (Pest/PHPUnit), розгортання на GCP (Cloud Run, Cloud SQL), оптимізація бази даних та написання високобезпечного коду. Вимагається 5+ років досвіду PHP/Laravel, hands-on GCP, практичний досвід AI-агентів (Gemini, Copilot, Cursor) для прискорення розробки.

Digis Нова
Вчора

Senior Laravel Developer (EU based)

Розробка та підтримка frontend та backend компонентів хмарної платформи для управління житловим сектором на Vue.js та Laravel. Вимоги: 5+ років PHP/Laravel, 1+ рік Vue.js, англійська B2+. Обов'язки включають розробку функцій, вдосконалення адмін-панелі, виправлення дефектів та підтримку клієнтських імплементацій.

Пакети за темою

Bagisto

bagisto/bagisto

Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.

27,769 v2.4.8 12 15

Lang

laravel-lang/lang

Список 126 мов для Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova, Laravel Spark та Laravel UI.

7,779 15.33.1 8

Відео за темою