Новый стандарт PHP: что ждёт разработчиков в 2024 году

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

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

Начать курс

Новый стандарт PHP: что ждёт разработчиков в 2024 году

Сообщество PHP продолжает радовать разработчиков: в конце 2023 года вышел финальный релиз PHP 8.3, а уже в 2024 году ожидается выход PHP 8.4. Эти версии задают новый стандарт качества для одного из самых популярных языков веб-программирования. Давайте разберёмся, какие ключевые изменения ждут разработчиков и как подготовиться к переходу.

Основные нововведения в PHP 8.3

Версия 8.3 получила статус стабильного релиза и включает ряд улучшений, которые делают код чище, безопаснее и быстрее:

  • Типизированные константы классов — теперь можно явно указывать тип константы: final public const string MY_CONST = 'value';. Это повышает читаемость и помогает статическим анализаторам.
  • Атрибут #[Override] — явно указывает, что метод переопределяет родительский. Если метод в родителе изменится или исчезнет — PHP выдаст ошибку. Отличная защита от регрессий.
  • Глубокая клонирование readonly-свойств — теперь можно изменять readonly-свойства при клонировании объекта, что упрощает работу с иммутабельными DTO.
  • Улучшенная функция json_validate() — быстрый способ проверить строку на валидность JSON без её полного парсинга. Экономит память и время.
  • Новые методы для массива — array_any() и array_all() позволяют лаконично проверять, удовлетворяет ли хотя бы один (или все) элемент условию.

Что готовит PHP 8.4?

Хотя релиз PHP 8.4 ожидается к концу 2024 года, уже сейчас обсуждаются несколько значимых RFC (предложений по изменению языка):

  • Property Hooks (property-хуки) — долгожданная возможность добавлять геттеры и сеттеры напрямую к свойствам класса, без написания отдельных методов. Это сделает код более декларативным и сократит шаблонный код.
  • Асимметричная видимость — возможность задать разный уровень доступа для чтения и записи свойства. Например, публичное чтение, но защищённая запись.
  • Улучшенная производительность JIT — работа над компилятором Just-In-Time продолжается. Ожидается прирост скорости выполнения тяжёлых вычислений на 10–20%.
  • Поддержка типов-пересечений (Intersection Types) — позволит объявлять параметры, которые должны реализовывать сразу несколько интерфейсов, например: function foo(Countable&Stringable $obj).

Как подготовиться к обновлению?

Переход на новую версию PHP — это не только новые фичи, но и потенциальные breaking changes. Рекомендуем следующий план действий:

  • Проверьте совместимость кода — используйте статические анализаторы (PHPStan, Psalm) с максимальным уровнем строгости. Они подсветят устаревшие конструкции.
  • Обновите зависимости — убедитесь, что все используемые библиотеки и фреймворки (Laravel, Symfony, WordPress) поддерживают PHP 8.3+.
  • Тестируйте на staging — разверните новую версию на тестовом окружении, прогоните автотесты и проверьте ключевые сценарии.
  • Используйте modern PHP — постепенно внедряйте атрибуты, типизацию, readonly-классы и другие возможности. Это облегчит будущие обновления.

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