Вышел PHP 8.4: обзор главных нововведений и улучшений

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Вышел PHP 8.4: что изменилось и чем это важно для разработчиков

Сообщество PHP встретило долгожданный релиз — PHP 8.4. Новая версия приносит не только точечные улучшения производительности, но и фундаментальные изменения в синтаксисе, которые меняют подход к написанию кода. Разберём ключевые нововведения, которые стоит знать каждому разработчику.

Property Hooks — долгожданная революция в работе со свойствами

Одно из самых значительных изменений — появление property hooks (хуков свойств). Теперь вы можете определять геттеры и сеттеры прямо в объявлении свойства, без создания отдельных методов. Это делает код чище и сокращает шаблонный код.

  • Геттеры и сеттеры inline: теперь можно писать public string $name { get => $this->name; set => $this->name = $value; }
  • Ленивая инициализация: свойство может быть вычислено только при первом обращении, что экономит ресурсы.
  • Упрощение DTO и Value Objects: объекты передачи данных становятся компактнее и читаемее.

Асимметричная типизация (Asymmetric Visibility)

PHP 8.4 вводит возможность задавать разную видимость для чтения и записи свойства. Например, вы можете сделать свойство публичным для чтения, но защищённым для записи. Это решает давнюю проблему инкапсуляции без создания избыточных методов.

  • Пример: public private(set) string $title — свойство можно читать всем, а изменять — только внутри класса.
  • Безопаснее: позволяет жёстче контролировать мутабельность данных.

Улучшения JIT-компилятора

Команда разработчиков существенно доработала JIT (Just-In-Time compiler). В PHP 8.4 он стал более предсказуемым и эффективным, особенно для длительных процессов и API-нагрузок.

  • Снижение накладных расходов на компиляцию.
  • Улучшенная поддержка ARM-архитектуры (Apple Silicon, Raspberry Pi).
  • Прирост производительности в синтетических тестах до 10-15%.

Новый синтаксис и депрекации

Релиз не обошёлся без синтаксического сахара и удаления устаревших функций.

  • Улучшенный array_find: теперь можно писать array_find($users, fn($u) => $u->active) — находит первый подходящий элемент.
  • Удаление устаревших функций: из ядра убраны mysqli без подготовленных запросов и ряд редко используемых констант.
  • Новые типы: добавлены true и false как самостоятельные типы для строгой типизации.

Что это значит для разработчиков?

PHP 8.4 — это шаг в сторону более современного и безопасного кода. Property hooks и асимметричная видимость уменьшают количество шаблонного кода, а улучшенный JIT делает PHP быстрее без изменения кода. Рекомендуем начать тестирование совместимости ваших проектов с новой версией уже сейчас, особенно если вы используете фреймворки вроде Laravel или Symfony — они уже выпустили обновления для поддержки PHP 8.4.

Следите за новостями на PythonLib — мы продолжим разбирать технические детали нового релиза и писать гайды по миграции.

Рекомендуем библотеки