ru
en lv

PHP 8: обзор нововведений

Главная Блог PHP 8: обзор нововведений

PHP 8: обзор нововведений

PHP 8: обзор нововведений

PHP 8 – DEVNRISEPHP – наиболее популярный язык программирования, используемый для разработки приложений различной сложности. 26 ноября 2020 года вышло новое обновление. Мажорный релиз PHP 8 содержит набор существенных улучшений и функций по сравнению с предыдущей версией. Всем программистам, работающим с этим языком программирования, необходимо ознакомиться с изменениями для проведения рефакторинга существующего кода и его запуска на PHP 8.

Хоть релиз PHP 8 уже и состоялся, разработчики отмечают, что технология находится в стадии разработки и дополнения, и в будущем набор полезных опций будет увеличиваться. Новая версия содержит нововведения, но некоторые функции были объявлены deprecated (устаревшими). Для разработчиков, использующих актуальные версии языка, переход на PHP 8 не должен представлять сложностей.

Кардинальные отличия от предыдущих версий PHP

В новом релизе были представлены следующие ключевые обновления:

  • JIT – динамическая компиляция приложения (just in time). Новая версия получила максимальную производительность, выведя PHP на первое место среди языков программирования с динамической компиляцией. Благодаря нововведению становится возможным даже писать приложения для ИИ, математические операции выполняются с невиданной прежде скоростью;
  • объединение типов – Union Types. PHP – язык с динамической типизацией переменных, объединение двух и более типов может полезным в случаях, когда функция принимает аргумент, принадлежащий одному из нескольких типов, но точно неизвестно какому;
  • функция ::class для получения названия класса объекта. Ранее разработчики использовали функцию get_class, нововведение работает таким же образом, но имеет более короткую запись;
  • l throw-выражения. В новой версии реализовано преобразование инструкции throw в выражение даже там, где позволены только стрелочные функции и операторы, но нет возможности создать исключение;
  • тип возврата static, используемый для явного указания на позднее связывание при возврате результата работы функции. При возвращении текущего объекта класса $this теперь нужно указывать модификатор static, а не this;
  • stringable интерфейс. Любой класс, содержащий метод __toString(), будет имплементировать этот интерфейс без необходимости ручной реализации. Нововведение предназначено для более явного приведения типов;
  • неименованные исключения. При перехвате исключения, вызванного ошибкой, ранее необходимо было сохранить значение в переменную, даже если не планировалось далее ее использовать. Это приводило к написанию избыточного неиспользуемого кода. Теперь перехват исключения возможен без сохранения данных в переменную.

Новые операторы и изменения синтаксиса

Изменения, введенные в PHP 8, коснулись привычного синтаксиса и используемых операторов:

  • nullsafe operator. Все программисты PHP хорошо знают, что значение null – опасная штука, способная принести много неприятностей. Результат любой вызываемой функции должен быть проверен на null, что вызывает появление большого количества «мусорного» кода. Появление nullsafe оператора позволяет контролировать поведение методов;
  • оператор выбора match, заменяющий switch и значительно сокращающий количество кода, избавляет от необходимости использования break и не выполняет приведение типов. Что важно – match выполняет нестрогое сравнение ==, в отличие от switch ===;
  • именованные аргументы. В новой версии языка теперь можно передавать параметры в функцию с указанием имени значения. При этом отпадает необходимость придерживаться определенного порядка и указывать необязательные аргументы. Теперь стало возможным использование ассоциативных массивов при указании именованных параметров;
  • атрибуты (аннотации). В PHP 8 был принят новый синтаксис, позволяющий добавлять метаданные в классы проще без необходимости парсить докблок-комментарии;
  • сокращенный синтаксис для объединения свойств класса и конструктора, предназначенный для упрощения инициализации полей класса. Но если разработчик использует вариативные поля, необходимо вручную прописывать их и устанавливать значения в конструкторе.

Разработка сайтов на PHP 8

Интернет-агентство DEVNRISE предоставляет услуги разработки PHP-приложений различной сложности:

  • корпоративные сайты;
  • интернет-приложения;
  • B2B и B2C приложения.

Веб-разработка ведется как с использованием систем управления контентом (MODX), так и на базе популярных фреймворков, обеспечивающих достаточное быстродействие сайтов (Laravel, Yii 2.0). Узнать больше о разработке приложений на базе PHP 8 и создании маркетинговой стратегии можно, связавшись с нами. Используйте онлайн-форму на сайте, электронную почту или мобильный телефон, узнайте стоимость вашего проекта уже сегодня!

Наш блог

Роль Dofollow-ссылок в SEO

Dofollow-ссылки улучшают SEO, передавая рейтинг связанным сайтам и увеличивая их видимость. Их следует использовать для авторитетных источников, цитирования исследований и внутренних ссылок, но избегать для платного и пользовательского контента, ненадежных сайтов и партнерских ссылок.

Показать больше

DEVNRISE Web Agency признана ведущей компанией по версии Clutch среди агентств веб-разработки и цифрового маркетинга из Латвии!

Признанная ведущей компанией по версии Clutch в 2024 году, DEVNRISE специализируется на цифровом маркетинге, веб-разработке и SEO. Мы поможем вам оставаться лидером рынка, создавая высоко конверсионные сайты и крупные веб-проекты.

Показать больше

От SEO к GEO: Будущее поисковой оптимизации в эру искусственного интеллекта

С развитием технологий генеративная поисковая оптимизация (GEO) становится ключевой. В отличие от SEO, которая фокусируется на традиционных поисковых системах, GEO оптимизирует контент для AI-платформ, таких как ChatGPT.

Показать больше

Напишите нам

Заполните форму и мы Вам ответим
По любым вопросам
sales@devnrise.com
Позвоните нам
+371 22 536 111 (Латвия) +44 20 8089 6584 (UK)
Приходите к нам
Главный офис в Латвии: Ул. Бривибас 137B, Рига, Латвия
Великобритания: Office 2801, 182-184 High Street North, East Ham, London E6 2JA
whatsapp