Към съдържанието

PHP 8.4: property hooks и асиметрична видимост

PHP 8.4: property hooks и асиметрична видимост
Блог 2 мин. четене

PHP 8.4 за разработчици: property hooks, асиметрична видимост, нови функции за масиви и новото DOM API, със съвети за надграждане и бележки за хостинга.

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 изрично

Съвети за надграждане

  1. Пуснете тестовете си под 8.4 и прочетете предупрежденията за остаряване.
  2. Обновете първо рамките и пакетите, тъй като повечето вече добавиха поддръжка за 8.4.
  3. Поправете имплицитно nullable типовете на параметрите, най-честото предупреждение.
  4. Тествайте в тестова среда със същите разширения като в производство.

Къде да работи

Стандартните сайтове работят на уеб хостинг, когато панелът позволява избор на версия на PHP. Когато ви трябват собствени разширения, внедряване с Composer или фонови работници, ползвайте облачен сървър. По-новите версии на PHP са по-бързи и за WordPress, както е описано в WordPress хостинг в Европа.

Често задавани въпроси

Заместват ли property hooks getter и setter?

Покриват простите случаи чисто. Запазете методите, когато логиката иска няколко параметъра или име, което обяснява действието.

Ще се счупи ли старият ми код на 8.4?

Най-често работи, с предупреждения за остаряване за поправяне. Проверете първо предупрежденията за имплицитно nullable параметри.

Колко дълго се поддържа PHP 8.4?

Активната поддръжка продължава около две години от издаването, а поправките за сигурност още две. Точните дати са на php.net.

php 8.4 property hooks visibility хостинг eurovdc

EuroVDC

Хоствайте уебсайта си надеждно

NVMe SSD · Безплатен SSL · DirectAdmin панел

Разгледайте хостинг плановете

Беше ли полезна тази статия?

– души го намериха за полезно

Сподели в социалните мрежи

PHP 8.4: property hooks и асиметрична видимост