PHP 8.4 — це не «косметичне оновлення», а набір речей, які реально впливають на щоденний код: нові можливості ООП, DOM-API з HTML5, корисні array_* та дрібні поліпшення синтаксису. Найпомітніше — property hooks: тепер можна перехоплювати читання/запис властивості без окремих getter/setter і робити обчислювані поля.
Ще одна приємність — асиметрична видимість: можна відкрити властивість на читання, але заборонити запис зовні (public private(set)), тобто менше «бойлерплейта».
Масиви отримали array_find / array_find_key / array_any / array_all — кінець самописним циклам «знайти перший елемент».
$animal = array_find(['dog','cat','cow'], fn($x)=>str_starts_with($x,'c')); // 'cat'
DOM тепер має сучасний, сумісний зі стандартами інтерфейс у просторі імен Dom\* (HTML5-парсинг, querySelector, classList), що значно приємніше за старий DOMDocument.
$doc = Dom\HTMLDocument::createFromString('Hello');$node = $doc->querySelector('article');var_dump($node->classList->contains('featured')); // true
Дрібниці, які економлять нерви: ланцюжити виклики можна прямо після new без дужок, з’явився RoundingMode для round(), об’єктний BCMath\Number, mb_trim/mb_ucfirst, мікросекунди у DateTime, та навіть підкласи PDO на кшталт Pdo\Pgsql.
$result = round(2.5, 0, RoundingMode::AwayFromZero); // 3 var_dump(new PhpVersion()->getVersion()); // без (new ... )
У беквардах важливо знати: IMAP, OCI8, PDO_OCI, pspell винесені у PECL; знеохочено «неявно nullable» типи параметрів; змінено поведінку exit() у деяких сценаріях — заглянь у міграційний гайд перед апдейтом.
Головне: 8.4 робить код чистішим і передбачуванішим. Якщо працюєш з контентом (DOM), числами (BCMath/rounding) чи великими масивами — вигода відчутна. Хочеш спробувати 8.4 на практиці? Розгорни його на нашому VPS або онови проєкт на Shared-хостингу; для бекапів підключи S3-сховище.