📒 

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

Что нового в PHP 8.3

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

JIT-компиляция

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

php -d jit=on script.php

Добавление функции array_is_list

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

$array = [0 => 'apple', 1 => 'banana', 2 => 'cherry'];
var_dump(array_is_list($array)); // bool(true)

Улучшения в системе типов.

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

class User {
    public int $id;
    public int $id;
}

Улучшения в строковых функциях

Внесены новые функции и улучшения в работу со строками. Например, функция str_contains теперь может работать с массивами строк, предоставляя более удобный способ поиска подстрок в массиве. Пример использования str_contains с массивом строк:

$array = ['apple', 'banana', 'cherry'];
var_dump(str_contains($array, 'banana')); //bool(true)