PHP 8.4 излезе през ноември 2024 г. Основните му функции правят обектния код по-кратък и ясен: property hooks и асиметрична видимост. Няколко по-малки добавки допълват изданието, а PHP 8.5 последва през ноември 2025 г., така че екипите често надграждат през 8.4.
Property hooks
Свойство вече може да носи собствена логика за четене и запис, без да се пишат отделни getter и setter методи.
class User {
public string $name {
set => trim($value);
}
public string $display {
get => strtoupper($this->name);
}
}
Hooks валидират или преобразуват стойностите при присвояване и запазват публичната повърхност като обикновено свойство.
Асиметрична видимост
Можете да дадете на свойство различна видимост за четене и за запис, например публично четене и частен запис.
class Order {
public private(set) string $status = 'new';
}
Извикващите могат да четат $order->status, но само класът го променя. Това заменя много getter-и само за четене.
Други добавки, които си струва да знаете
| Функция | Какво дава |
|---|---|
array_find, array_any, array_all | Търсене и проверка в масиви без ръчен цикъл |
new без допълнителни скоби | new Foo()->bar() работи директно |
| Ново DOM API с поддръжка на HTML5 | По-добър разбор на съвременен HTML |
Атрибут #[\Deprecated] | Отбелязване на собствени функции като остарели |
| Имплицитно nullable типове са остарели | Пишете ?string $x = null изрично |
Съвети за надграждане
- Пуснете тестовете си под 8.4 и прочетете предупрежденията за остаряване.
- Обновете първо рамките и пакетите, тъй като повечето вече добавиха поддръжка за 8.4.
- Поправете имплицитно nullable типовете на параметрите, най-честото предупреждение.
- Тествайте в тестова среда със същите разширения като в производство.
Къде да работи
Стандартните сайтове работят на уеб хостинг, когато панелът позволява избор на версия на PHP. Когато ви трябват собствени разширения, внедряване с Composer или фонови работници, ползвайте облачен сървър. По-новите версии на PHP са по-бързи и за WordPress, както е описано в WordPress хостинг в Европа.
Често задавани въпроси
Заместват ли property hooks getter и setter?
Покриват простите случаи чисто. Запазете методите, когато логиката иска няколко параметъра или име, което обяснява действието.
Ще се счупи ли старият ми код на 8.4?
Най-често работи, с предупреждения за остаряване за поправяне. Проверете първо предупрежденията за имплицитно nullable параметри.
Колко дълго се поддържа PHP 8.4?
Активната поддръжка продължава около две години от издаването, а поправките за сигурност още две. Точните дати са на php.net.




