Поскольку проект PHP придерживается своей ежегодной традиции выпуска новой основной или дополнительной версии ближе к концу каждого года, PHP 8.3 не стал исключением.
Потрясающие новости для разработчиков и предприятий! Эта последняя версия PHP обещает повышенную производительность и улучшенные функции безопасности, чтобы гарантировать, что ваши приложения будут работать более плавно и быстро, чем когда-либо прежде.
Последняя версия, выпущенная 23 ноября, предлагает множество новых функций и улучшений, еще больше укрепляя позиции PHP как универсального и развивающегося языка.
В этой статье мы рассмотрим важные дополнения и изменения, представленные в PHP 8.3, а также прольем свет на ключевые аспекты, о которых следует знать разработчикам.
Table of Contents
ToggleОщутите идеальное сочетание мощности, надежности и простоты, которое делает идеальным выбором для энтузиастов PHP по всему миру.
PHP 8.3 представляет значительное улучшение в виде типизированных констант класса. Благодаря этому дополнению разработчики теперь могут объявлять типы для констант класса, обеспечивая совместимость типов и снижая вероятность непреднамеренных отклонений от первоначального объявления. Это улучшение распространяется также на константы интерфейсов, признаков и перечислений.
Типизированные константы классов оказываются полезными для поддержания согласованности типов при работе с дочерними классами, полученными из базовых объявлений, предотвращая случайные изменения типа, которые могут привести к проблемам совместимости.
До версии PHP 8.3 определение синтаксической корректности строки в кодировке JSON включало использование json_decode() и проверку на наличие ошибок.
Новая функция json_validate() упрощает этот процесс, проверяя синтаксис JSON без необходимости создания ассоциативных массивов или объектов, тем самым экономя память.
Эта функция особенно полезна для проверки полезных данных JSON перед сохранением или доставкой в запросе-ответе.
В PHP 8.3 извлечение констант класса и членов перечисления с именами переменных становится более простым. Громоздкое использование функции constant() заменяется более интуитивным синтаксисом, что повышает читаемость кода.
Это улучшение упрощает процесс динамического доступа к константам класса и членам перечисления.
Функция gc_status(), отвечающая за предоставление статистики сборщика мусора, получает обновление в PHP 8.3. Теперь функция возвращает дополнительную информацию, включая сведения о состоянии выполнения, состоянии защиты, размере буфера и т. д.
Это усовершенствование предоставляет разработчикам более полное представление о поведении сборщика мусора.
PHP 8.3 представляет метод getBytesFromString в классе \Random\Randomizer, позволяющий генерировать случайные последовательности на основе указанной строки символов. Этот метод оказывается полезным для генерации безопасных случайных байтов из предопределенного набора символов.
Этот метод добавляет гибкости генерации случайных данных, позволяя разработчикам указывать исходный материал для случайного выбора байтов.
Расширяя расширение Random, PHP 8.3 представляет два новых метода для генерации случайных чисел с плавающей точкой: getFloat() и nextFloat(). Эти методы повышают точность и контроль над генерацией случайных чисел с плавающей точкой.
Эти методы предоставляют разработчикам больше возможностей для получения случайных значений с плавающей точкой в указанных диапазонах.
В версии 8.3 разработчики PHP могут указывать резервные значения для настроек PHP INI при отсутствии определенных переменных среды, предоставляя значения по умолчанию для большей гибкости настройки.
Это дополнение упрощает управление конфигурацией, позволяя корректно обрабатывать отсутствующие переменные среды.
Заметным улучшением в PHP 8.3 является возможность листинга нескольких файлов за один вызов процесса листинга PHP CLI. Это улучшение оптимизирует рабочий процесс листинга, обеспечивая большую эффективность при проверке синтаксических ошибок в нескольких файлах.
Это обновление улучшает работу разработчика, позволяя одновременно выполнять анализ нескольких файлов.
В PHP 8.3 функция class_alias() получает возможность создавать псевдонимы встроенных классов PHP. Теперь разработчики могут использовать class_alias() для создания псевдонимов для основных классов PHP, что обеспечивает большую гибкость в организации кода и соглашениях об именовании.
Это улучшение позволяет создавать более чистый и выразительный код при работе со встроенными классами PHP.
PHP 8.3 представляет новую функцию stream_context_set_options как улучшение по сравнению с существующей stream_context_set_option. Новая функция поддерживает несколько опций и, как ожидается, заменит исходную функцию в будущих версиях PHP.
Это обновление улучшает управление контекстом потока, предоставляя более универсальный и перспективный API.
В PHP 8.3 вызов get_class() и get_parent_class() без параметров устарел. Это изменение направлено на упрощение использования этих функций и устранение потенциальных неоднозначностей, возникающих из-за множественных сигнатур функций.
Разработчикам рекомендуется указывать параметр $object при использовании этих функций, чтобы избежать уведомлений об устаревании.
Поведение функции unserialize() претерпевает изменения в PHP 8.3, где определенные состояния ошибок, которые ранее выдавали уведомления (E_NOTICE), теперь выдают предупреждения (E_WARNING). Это включает такие случаи, как синтаксические ошибки и сбои в пользовательских обработчиках __unserialize.
Это изменение способствует единообразию в обработке ошибок и побуждает разработчиков более активно обрабатывать несериализованные ошибки.
Функции подсветки синтаксиса в PHP, а именно highlight_file и highlight_string, претерпевают изменения в PHP 8.3. Результирующий вывод HTML теперь заключен в <pre><code></code></pre>, а переносы строк больше не преобразуются в теги <br />. Кроме того, пробелы и табуляции больше не преобразуются в сущности HTML.
Эта корректировка повышает ясность выделенного кода и соответствует современным стандартам HTML.
PHP 8.3 вводит гранулярные классы Exception и Error, специфичные для проблем, связанных с датами, предоставляя более подробную информацию в случае ошибок. Эти специфичные для расширения классы повышают точность отчетов об ошибках, связанных с операциями DateTime.
Это усовершенствование обработки исключений помогает разработчикам более эффективно выявлять и устранять ошибки, связанные с датами.
Вы можете легко обновить текущую версию PHP до последней версии, выполнив следующие шаги:
Обновление до PHP 8.3 — это игра-переворот для владельцев бизнеса и агентств. Благодаря значительному повышению производительности ваши веб-сайты и приложения будут загружаться быстрее, обеспечивая лучший пользовательский опыт и потенциально увеличивая коэффициенты конверсии. Улучшенные функции безопасности обеспечивают лучшую защиту от уязвимостей, гарантируя, что ваши данные и данные ваших клиентов останутся в безопасности.
Обновившись до PHP 8.3, вы можете быть уверены, что ваши веб-приложения будут опережать события, обеспечивая исключительный пользовательский опыт и уделяя приоритетное внимание безопасности с помощью новых функций и оптимизируя процессы разработки, что позволит вашей команде реализовывать проекты более эффективно и экономично.
Хотя PHP 8.3, возможно, и не предлагает революционных функций, сопоставимых с предыдущими версиями, такими как PHP 8.0 и 8.1, он фокусируется на совершенствовании языка, приведении функций в соответствие с развивающимися отраслевыми стандартами и решении различных аспектов синтаксиса и обработки ошибок.
Разработчики и команды, знакомые с этими усовершенствованиями, могут разумно использовать их для повышения качества кода и удобства его поддержки.
Если вы рассматриваете возможность перехода на PHP 8.3, рекомендуется тщательно изучить документацию, чтобы обеспечить плавную адаптацию к новым функциям и изменениям.
В категории лучших бэкенд-фреймворков 2024 года одно имя выделяется среди остальных — PHP с его динамическим фреймворком Laravel. С PHP и Laravel возможности действительно безграничны.
И помните, вы можете обновиться до последней версии PHP прямо с платформы всего за несколько кликов.
A: Да, PHP 8.3 был выпущен, как и планировалось, 23 ноября. В нем реализовано множество функций и улучшений по сравнению с PHP 8.2.
A: PHP 8.3 — это значительное обновление, включающее явную типизацию констант класса, глубокое клонирование свойств только для чтения и дополнительную функциональность случайности. Наряду с новыми функциями, он включает улучшения производительности, исправления ошибок и общую очистку.