Поиск по сайту:
Степенность есть надежная пружина в механизме общежития (К. Прутков).

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

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

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

 

Явная типизация класса constants

Одной из наиболее важных новых возможностей PHP 8.3 является возможность явно указывать тип данных для констант классов. Это делает код более безопасным и понятным.

До PHP 8.3 константы классов всегда имели тип mixed, что означало, что они могли принимать любые значения. Это могло привести к ошибкам, если разработчик не был уверен в типе константы.

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

class MyClass
{
    public const MAX_VALUE = 100; // int
}

 

Эта константа будет иметь тип int, что означает, что она может принимать только целые числа.

Явное указание типа данных для констант классов может помочь предотвратить ошибки, а также сделать код более понятным. Например, следующий код будет более понятным, чем аналогичный код в PHP 8.2:

// PHP 8.2
$maxValue = MyClass::MAX_VALUE; // mixed

// PHP 8.3
$maxValue = MyClass::MAX_VALUE; // int

 

Глубокое клонирование свойств, доступных только для чтения

Еще одной важной новой возможностью PHP 8.3 является возможность глубокого клонирования свойств объектов, даже если эти свойства помечены как readonly. Это делает код более гибким и безопасным.

Читать  5 самых горячих тенденций развития PHP в 2021 году

До PHP 8.3 свойства, помеченные как readonly, не могли быть клонированы. Это означало, что если мы хотели клонировать объект, содержащий readonly-свойства, мы должны были создать новый объект с теми же значениями readonly-свойств.

В PHP 8.3 свойства, помеченные как readonly, могут быть клонированы с помощью функции clone(). Это позволяет создавать более гибкие и безопасные клоны объектов.

Например, следующий код будет работать в PHP 8.3:

class MyClass
{
    public readonly $readonlyProperty = 100;

    public function __clone()
    {
        clone $this->readonlyProperty; // OK in PHP 8.3
    }
}

 

Дополнения к функциональности случайности

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

Одна из новых функций — это random_int(). Эта функция позволяет генерировать случайное целое число в заданном диапазоне. Например, следующий код будет генерировать случайное целое число от 1 до 100:

$randomNumber = random_int(1, 100);

 

Другая новая функция — это random_float(). Эта функция позволяет генерировать случайное вещественное число в заданном диапазоне. Например, следующий код будет генерировать случайное вещественное число от 0 до 1:

$randomFloat = random_float(0, 1);

 

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

 

Дополнительные возможности

Помимо перечисленных выше новых возможностей, PHP 8.3 также включает в себя следующие изменения:

  • Новая функция json_validate(): эта функция позволяет проверять JSON-объекты на соответствие определенному набору правил.
  • Новые функции и методы для класса Randomizer: эти функции и методы расширяют функциональность класса Randomizer, который используется для генерации случайных чисел.
  • Добавлена поддержка stack overflow detection: эта поддержка позволяет обнаруживать переполнение стека, которое может привести к сбою приложения.
Читать  Создание и продвижение сайта под ключ на WordPress: Эффективный путь к вашему онлайн-присутствию

 

Заключение

PHP 8.3 является мощным и гибким языком, который предоставляет разработчикам множество возможностей для создания эффективных и безопасных веб-приложений.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Линейка продуктов Apple для Mac сильно изменилась за последние несколько…

Спасибо!

Теперь редакторы в курсе.