PHP 8.5 (листопад 2025) - головні нововведення:
Оператор конвеєра |> - передає значення ліворуч у callable праворуч, без проміжних змінних і вкладених викликів:
$slug = $title
|> trim(...)
|> mb_strtolower(...)
|> (fn (string $s) => preg_replace('/\s+/', '-', $s));
// замість
$slug = preg_replace('/\s+/', '-', mb_strtolower(trim($title)));
Кожен крок має приймати один параметр, тому функції з кількома аргументами загортають у стрілкову функцію.
clone з новими значеннями - зручні «withers» для незмінних об'єктів, зокрема з readonly-властивостями:
public function withAmount(int $amount): static
{
return clone($this, ['amount' => $amount]);
}
#[\NoDiscard] - PHP попередить, якщо результат функції проігноровано. Захищає від помилок на кшталт виклику методу незмінного об'єкта без присвоєння результату.
URI extension - вбудований розбір і нормалізація URL за RFC 3986 і стандартом WHATWG (Uri\Rfc3986\Uri, Uri\WhatWg\Url) замість неточного parse_url().
Інше:
array_first()іarray_last()- перший і останній елемент без маніпуляцій з внутрішнім вказівником масиву.- Замикання й first-class callables у константних виразах (наприклад, у значеннях атрибутів і параметрів за замовчуванням).
- Стек-трейси для фатальних помилок.
- Постійні cURL share handles - повторне використання з'єднань і DNS-кешу між запитами.
Як оновлюватися: спершу прогнати тести й статичний аналіз на новій версії в CI, переглянути список застарілого в посібнику з міграції, і лише потім оновлювати прод.