PHP – один из самых популярных языков программирования, широко востребованный при разработке веб-приложений. Гибкий и интерпретированный, доступный и универсальный, PHP поддерживает большинство серверов и более двух десятков баз данных.
Он открывает безграничные возможности для хостинга, ведь применяемые на основе PHP сервисы отлично масштабируются. Несмотря на частую критику инструмента, получившего в упрощенном переводе прозвище «препроцессор», колоссальное количество удачных проектов в своей основе используют именно его. Wordpress, Drupal и другие проекты создавались с помощью PHP.
Язык PHP имеет много преимуществ:
Недовольство инструментом имеет корни в недалеком прошлом. Простота и доступность для изучения привела к тому, что на PHP создавали страницы, приложения все, кто хоть что-нибудь понимал в программировании. Это приводило к распространению некачественных программ и веб-ресурсов.
PHP имеет и реальные недостатки. Это узкопрофильная разработка, предназначенная исключительно для программирования для сети Интернет. К недостаткам относятся также противоречивость кода, погрешности безопасности.
Востребованность в совокупности с уязвимостью языка провоцирует постоянное обновление и усовершенствование PHP. Некоторое время назад мы рассказывали о нововведениях в PHP 7.4, однако уже в ноябре 2020 года состоялся выпуск версии PHP 8. Усовершенствованный вариант имеет ряд преимуществ. Рассмотрим, какие возможности были добавлены разработчиком:
Совокупность нескольких типов, указывающих на возможность использования любого из них, представляет собой функцию Union Types. Новая версия PHP позволяет использовать объявления Union Types, проверка которых осуществляется моментально, одновременно с выполнением. Такая возможность появилась взамен аннотаций PHP docs.
Компилятор Just In Time, именуемый JIT, оптимизирует производительность процессов во время работы программ, приложений и т.д., благодаря динамической компиляции. Первоочередно код транслируется в промежуточное представление, затем в машинный код. Выполнение происходит на процессоре, без использования виртуальной машины.
Прежняя система, при работе с оператором null, демонстрировала неудобное свойство: невозможность применения в цепочке вызовов методов. Возникала потребность в промежуточных проверках или в применении помощников.
Внедрение Nullsafe-оператора позволяет разработчику наблюдать поведение методов.
Именованные аргументы открывают возможность передачи значения в функцию путем указания имени значения. Для разработчика это способ оптимизировать рабочий процесс, и спокойно без потерь пропускать второстепенные по значимости параметры. При этом порядок аргументов больше не имеет значения.
Атрибуты предоставляют возможность добавления метаданных с нативным синтаксисом PHP в классы удобным способом. Данная опция позволяет разделить абстрактную реализацию некоторой функции и ее кодовое использование. Атрибуты – это новые возможности и технически более совершенный способ добавлять дополнительную информацию и конфигурацию.
Новинка PHP 8 – match. Это выражение с возможностью сохранения в переменной либо возврата. Новые условия позволяют применять исключительно однострочные выражения без использования конструкции break.
В процессе эволюции PHP разработчиками добавлялись новые категории типов – скалярные, обнуляемые. В новой версии появились типы класса mixed – смешанные. Смешанная категория позволяет добавлять типы в параметры и свойства, может применяться как тип возвращаемого значения, а также использоваться как параметр или тип свойства.
Обновленная версия позволит преобразование в выражение инструкции throw – в предыдущих выпусках такой опции не было. Такое нововведение расширяет возможности использования инструмента.
Восьмая версия дополнена классом WeakMaps, позволяющим сохранять ссылку на объект. При этом сам объект можно свободно удалить.
В прежних версиях перехват исключения был возможен с предварительным сохранением его в переменной. При этом не имело значения, использовалась ли переменная. PHP 8 позволяет перехватывать исключения, указание переменной при том не требуется. При этом следует иметь ввиду, что тип нужно указывать обязательно: PHP 8 не предусматривает возможность оставлять пустой catch.
Помимо добавленных для разработчиков возможностей, версия PHP 8 дополнена рядом других существенных изменений (деление на ноль, возвращение типа переменной, идентификация ресурса и т.д.).
С полным списком изменений в версии PHP 8 вы можете ознакомиться на официальном сайте.
Вы можете выбрать нужную версию PHP в разделе «Сайты» → «Настройки конфигурации». Обратите внимание, что PHP 8 доступен в связке с Apache 2.4, в котором отличается синтаксис некоторых директив .htaccess. Подробнее в разделе «Помощь» Перед сменой PHP настоятельно рекомендуем удостовериться в совместимости вашего сайта с выбираемой версией.
Хотите протестировать работу своего сайта на PHP 8 одним из первых? Заказывайте виртуальный хостинг в SpaceWeb — у нас PHP 8 уже доступен на любом тарифе! При необходимости мы можем бесплатно перенести ваш сайт к нам на хостинг. А бесплатный тестовый период в 14 дней позволит вам не спеша провести тестирование сайта на самом современном оборудовании и программном обеспечении.
Еще на эту тему: