Логотип

PHP 8.3

PHP 8.3

 

PHP 8.3, выпущенный 23 ноября 2023 года, является значительным обновлением языка PHP. Он включает в себя множество новых функций, а также улучшения производительности, исправление ошибок и общую чистку.

 

Новые функции PHP 8.3

Типизированные константы классов

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

class MyClass {
    public const PI = 3.14;
}

$pi = MyClass::PI;

можно написать:

class MyClass {
    public const PI: float = 3.14;
}

$pi = MyClass::PI;

Функция json_validate

Новая функция json_validate() позволяет проверить JSON-объект на соответствие определенному формату. Функция принимает JSON-объект в качестве входных данных и возвращает true, если объект соответствует формату, или false в противном случае. Например, следующий код проверяет, что JSON-объект содержит только числа:

$json = '{"a": 1, "b": 2, "c": 3}';

if (json_validate($json, ['type' => 'array', 'items' => ['type' => 'integer']])) {
    echo "JSON-объект соответствует формату";
} else {
    echo "JSON-объект не соответствует формату";
}

Поддержка динамического доступа к константам классов и членам перечислений

В PHP 8.3 стало возможно выполнять динамический доступ к константам классов и членам перечислений. Это означает, что можно получить доступ к константе класса или члену перечисления без необходимости предварительно объявлять его. Например, следующий код получает константу PI из класса MyClass:

class MyClass {
    public const PI = 3.14;
}

$pi = MyClass::PI;

$pi2 = MyClass::getConstant('PI');

echo $pi2; // 3.14

Возврат дополнительной информации из gc_status()

Функция gc_status() теперь возвращает дополнительную информацию о сборке мусора. Эта информация может быть полезна для оптимизации производительности приложения. Например, следующий код возвращает количество объектов в куче:

$info = gc_status();

echo $info['num_objects']; // Количество объектов в куче

Новые методы в расширении Random

Расширение Random получило два новых метода:

  • getBytesFromString(): возвращает массив байтов из строки.
  • getFloat(): возвращает случайное вещественное число.

 

Изменения в синтаксисе и функциональности

unserialize(): ошибки E_NOTICE при сериализации/десериализации теперь повышаются до E_WARNING.

highlight_file() и highlight_string: вывод HTML изменен.

Добавлены гранулированные исключения DateTime.

В некоторых классах расширений PHP добавлены объявления типов констант классов.

Улучшения производительности

  • Улучшена производительность обработки строк.
  • Улучшена производительность обработки массивов.
  • Улучшена производительность обработки объектов.

 

Исправления ошибок

  • Исправлено более 100 ошибок.

 

Общие улучшения

  • Добавлены новые операторы.
  • Добавлены новые функции.
  • Добавлены новые глобальные константы.

 

Заключение

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

 

Дополнительные сведения

Для получения дополнительной информации о PHP 8.3 посетите сайт PHP.net.

Вышел PHP 8.3: новые возможности и улучшения

Вышел PHP 8.3: новые возможности и улучшения

PHP 8.3, выпущенный 23 ноября 2023 года, является важным обновлением языка, которое вносит множество новых возможностей и улучшений. В этой статье мы рассмотрим некоторые из наиболее важных изменений, а также примеры того, как их можно использовать. Явная типизация класса constantsОдной из наиболее важных новых возможностей PHP 8.3 является возможность явно указывать тип данных для констант классов.
Прокрутить страницу до начала