PHP 160 ~ 1 мин.

Что нового в PHP 8.6

Что нового в PHP 8.6

PHP 8.6 возможно выйдет в конце ноября 2026 года, а мы пока в этом посте будем рассматривать все RFC, которые будут появляться в течение этого года, по мере их рассмотрения и принятия.

Новый функционал

Сообщение об ошибке/исключении в json_decode теперь указывает место возникновения ошибки

До PHP 8.6 в json_decode и json_last_error_msg сообщения об ошибках содержали тип ошибки и описание, но не указывали точное место возникновения ошибки при её анализе. Начиная с PHP 8.6, все ошибки декодирования JSON пытаются включить в строку JSON местоположение, где произошла ошибка:

$json = '[{';
json_decode($json, flags: JSON_THROW_ON_ERROR);
// JsonException: Syntax error near location 1:3
$json = '[{';
try {
  json_decode($json, flags: JSON_THROW_ON_ERROR);
}
catch (JsonException $ex) {
    echo $ex->getMessage(); // "Syntax error near location 1:3"
}
json_decode('[[[[[[[[[[42]]]]]]]]]]', depth: 6);
json_last_error_msg(); // "Maximum stack depth exceeded near location 1:6"

Новая функция clamp

В PHP 8.6 появилась новая функция clamp, которая проверяет, находится ли заданное значение в пределах заданного диапазона. Если значение находится в пределах этого диапазона, возвращается исходное значение. Если оно выходит за пределы диапазона, clamp возвращается ближайший предел:

clamp(5, 0, 100); // 5
clamp(0, 0, 100); // 0
clamp(-5, 0, 100); // 0
clamp(100, 0, 100); // 100
clamp(105, 0, 100); // 100
clamp(105, 100, 100); // 100

clamp(3.01, 1.6, 4.2); // 3.01
clamp(10.0, 1.6, 4.2); // 4.2
clamp(0, M_1_PI, M_2_PI); // 0.31830988618379

clamp(5, 10, 12.5); // 10
clamp(5, 10.0, 12); // 10.0
clamp(3.14, 10, 20); // 10
clamp(3.14, 0, 20); // 3.14

Что думаешь?

Категории
  • PHP 69
  • Заметки 18
  • Безопасность 4
  • Флуд 2
  • Nginx 2
  • ИТ новости 2
  • Видео 1
  • Docker 1
  • Roadmap 1
  • Архитектура 0

Хочешь поддержать сайт?

Делаем из мухи слона

sergeymukhin.com

персональный блог о веб-разработке от Сергея Мухина. Блог был основан в 2018 году, и собирался уделять основное внимание последним тенденциям, учебным пособиям, а также советам и рекомендациям, позволяющим начинающим девелоперам встать быстрее на правильную дорогу веб разработки, но что-то пошло не так 😃

Релизы PHP 8.5

Дата Релиз
3 Июля 2025 Альфа 1
17 Июля 2025 Альфа 2
31 Июля 2025 Альфа 3 пропущена
31 Июля 2025 Альфа 4
12 Августа 2025 Feature freeze
14 Августа 2025 Бета 1
28 Августа 2025 Бета 2
11 Сентября 2025 Бета 3
25 Сентября 2025 RC 1
09 Октября 2025 RC 2
23 Октября 2025 RC 3
06 Ноября 2025 RC 4
20 Ноября 2025 GA

Что нового?