PHP 8.4: Главные фичи, Property Hooks и новые стандарты 2025 года
В августе 2025 года PHP-сообщество официально перешло на новую ступень — состоялся масштабный релиз PHP 8.4. Это обновление окончательно стирает границы между PHP и "строгими" enterprise-языками вроде C# и Java, принося глубокий синтаксический сахар и долгожданный рефакторинг DOM-библиотек.
Разберем 3 главные фичи, из-за которых вам стоит обновить свои проекты уже сегодня.
1. Property Hooks: Конец эпохи геттеров и сеттеров
Традиционно в инкапсуляции мы писали Boilerplate-код: приватное свойство, публичный get() и публичный set($value). PHP 8.4 берет лучшее из C# и Kotlin, внедряя Property Hooks.
Теперь логику перехвата доступа к свойству (Property) можно описать прямо внутри его объявления:
class User {
public string $name {
// Хук записи: убираем лишние пробелы и форматируем
set (string $value) => ucfirst(trim($value));
// Хук чтения: добавляем префикс
get => "User: " . $this->name;
}
}
$user = new User();
$user->name = " daniil ";
echo $user->name; // Выведет "User: Daniil"Что это дает бизнесу? Кодовые базы на Symfony и Laravel сократятся на тысячи строк. Модели (Entities / DTO) станут в 2 раза короче и читабельнее, так как из них исчезнут бесконечные методы доступа.
Бесплатный SEO-аудит вашего сайта
Оставьте заявку, и наши специалисты найдут точки роста поискового трафика.
2. Asymmetric Visibility: Защита DTO из коробки
Создание неизменяемых DTO (Data Transfer Objects) всегда было болью. readonly свойства решали часть проблем, но не позволяли менять данные изнутри класса.
PHP 8.4 ввел Асимметричную видимость (Asymmetric Visibility). Вы можете раздельно указать область видимости для чтения и для записи свойства:
class Article {
// Читать может кто угодно. Изменять (set) - только сам класс
public private(set) string $title;
public function __construct(string $title) {
$this->title = $title;
}
public function updateTitle(string $newTitle): void {
// Мы можем изменить это внутри класса! Readonly такого не позволял.
$this->title = strtoupper($newTitle);
}
}Это ультимативный инструмент для проектирования строгой архитектуры (Domain-Driven Design), где состояние объекта должно изменяться только через его публичные методы-мутаторы.
3. Нативная работа с HTML5 (Новый DOM API)
Старый пакет ext-dom (на базе libxml2), который мы использовали десятилетиями для парсинга HTML, вообще не понимал современных веб-стандартов. Попытка загрузить в него семантический HTML5 вызывала кучу ошибок парсинга и ломаную кодировку.
В PHP 8.4 добавлен совершенно новый, соответствующий стандартам WHATWG пакет для парсинга: \Dom\HTMLDocument.
use Dom\HTMLDocument;
// Больше никаких предупреждений о неизвестном теге <main> или <article>!
$doc = HTMLDocument::createFromString('
<main>
<article>PHP 8.4 is awesome</article>
</main>
');Это огромный плюс для проектов по парсингу данных и созданию генераторов статики.
Производительность и безопасность (Security Audit)
Помимо синтаксиса, ядро было серьезно оптимизировано:
- JIT (Just-In-Time) компилятор был переработан. В синтетических тестах Laravel и Symfony отработка бизнес-логики ускорилась на 12-15%.
- В августе 2025 независимая комиссия (OSTIF & Sovereign Tech Agency) выполнила глубокий аудит ядра, закрыв 17 потенциальных уязвимостей, связанных с утечками памяти (use-after-free).
- Продленный цикл поддержки: Active Support для новых релизов увеличен до двух полных лет.
Бесплатный расчет стоимости проекта
Ответьте на 4 вопроса, и мы пришлем вилку цен под ваши задачи.
1. Какой тип корпоративного сайта вам нужен?
Резюме
PHP 8.4 — это не "просто обнова под капотом". Это релиз, который заставляет по-новому писать код. Асимметричная видимость и Property Hooks делают код элегантным, защищенным и лаконичным.
Бэкенд-инженеры NBM-IT специализируются на Highload-архитектуре и пишут на актуальных стандартах PHP 8.3+. Оставьте заявку, если вашему проекту требуются масштабируемые API или бесшовный переезд с легаси-кода на новую версию PHP.
