Команда Laravel випустила версію 12.44 із можливістю запускати колбеки HTTP-клієнта після формування відповіді, новим методом перевірки заголовків у TestResponse, додатковими методами для fluent-валидації дат та іншими змінами.
Luke Kuzmish додав можливість визначати колбеки, які виконуються після побудови відповіді в HTTP-клієнті Laravel. Колбек дозволяє перевіряти відповідь, надсилати події або навіть змінювати її через afterResponse():
return Http::acceptJson()
->withHeader('X-Shopify-Access-Token', $shopCreds->token)
->baseUrl("https://{$shopCreds->shop_domain}.myshopify.com/admin/api/2025-10/")
->afterResponse(
// Повідомити про будь-які deprecation-повідомлення з заголовка
function (Response $response) use ($shopCreds) {
$header = $response->header('X-Shopify-API-Deprecated-Reason');
if ($header) {
event(new ShopifyDeprecationNotice($shopCreds->shop, $header);
}
})
->afterResponse(
// Проточити відповідь у наш власний клас відповіді
fn (Response $response) => new ShopifyResponse($response->toPsrResponse())
);
Деталі реалізації — у Pull Request #58088.
@Milad додав новий assertion-метод до класу TestResponse, який допомагає перевіряти вміст заголовка HTTP-відповіді в тестах:
$response->assertHeaderContains('X-Custom-Header', 'value');
Деталі — у Pull Request #58200.
Caleb White додав нові методи до fluent-правила Date для перевірок, пов’язаних із now():
Rule::date()->andTime()->nowOrPast();
Rule::date()->andTime()->nowOrFuture();
Rule::date()->andTime()->future();
Rule::date()->andTime()->past();
Деталі — у Pull Request #58059.
Matteo Palazzo оновив подію LocaleUpdated, додавши властивість $previous. Тепер у слухачів є доступ до попередньої локалі при обробці події:
function (LocaleUpdated $event) {
return $event->locale === 'foo' & $event->previousLocale === 'bar';
}
Деталі — у Pull Request #58179.
Повний перелік нововведень та змін і diff між 12.43.0 і 12.44.0 доступні на GitHub. Нижче — виписка з changelog:
DatabaseLock prune lottery — @cosmastech у https://github.com/laravel/framework/pull/58152stdClass — @axlon у https://github.com/laravel/framework/pull/58150Collection (param) — @jnoordsij у https://github.com/laravel/framework/pull/58170passthru у LazyCollection та оновлено docblocks — @jnoordsij у https://github.com/laravel/framework/pull/58180Collection — @jnoordsij у https://github.com/laravel/framework/pull/58176created_at або updated_at при приєднанні моделей — @crynobone у https://github.com/laravel/framework/pull/58164Password::required() і Password::sometimes() як масиву — @crynobone у https://github.com/laravel/framework/pull/58188Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку