PHP 8.3 входит в версию Alpha 1, и это предлагаемые изменения

PHP

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

Несколько дней назад вышла новость о том, что первая альфа-версия новая ветка языка программирования 8.3 филиппинских песо, Были раскрыты запланированные улучшения, такие как новая функция json_validate(), а также дополнения к недавно добавленному классу Randomizer, обнаружение переполнения стека и многое другое.

Для тех из вас, кто не знаком с PHP (рекурсивная аббревиатура PHP: препроцессор гипертекста), позвольте мне сказать вам, что это довольно популярный язык программирования общего назначения с открытым исходным кодом, интерпретируемый на стороне сервера, который особенно подходит для веб-разработки. , так как его можно встроить в HTML.



Какие основные новшества вводит PHP 8.3?

С выходом этой версии PHP 8.3 для тестирования Alpha 1 Среди фич, планируемых к его реализации, например, Функция json_validate() для быстрой проверки того, находится ли строка в формате JSON. без выполнения операций декодирования, поскольку ранее строка JSON состояла из указанного формата данных, и если вам требовалась проверка строки JSON, вам требовалась функция json_decode ().



Еще одним заметным изменением являются улучшения в обработке ошибок, а также в обнаружении переполнения стека с двумя новые директивы zend.max_allowed_stack_size и zend.reserved_stack_size которые были добавлены в файл ini для определения максимально допустимого и зарезервированного размера кучи. Упоминается, что преимущество этой функции заключается в том, что ошибки сегментации, вызванные переполнением стека, больше не будут генерировать ошибки сегментации, что значительно упрощает отладку.

Про работу упоминается, что программа крашится при приближении к исчерпанию стека, когда стек заполняется больше, чем разница между значениями zend.max_allowed_stack_size и zend.reserved_stack_size (Выполнение будет остановлено, не приводя ситуацию к ошибке сегментации.) По умолчанию значение zend.max_allowed_stack_size установлен в 0 (0: размер определяется автоматически, вы можете установить -1, чтобы отключить ограничение).



В дополнение к этому также подчеркивается, чтоВ класс Randomizer добавлены новые методы., который предоставляет высокоуровневый API для генерации псевдослучайных чисел и последовательностей. в этом обновлении Интегрированы небольшие дополнения: getBytesFromString для генерации строки заданного размера использование случайных символов, присутствующих в другой строке; getFloat и следующийFloat для генерации случайного числа с плавающей запятой в пределах указанного диапазона.

Он также подчеркивает улучшения обработки исключений даты/времени, поскольку ранее PHP ограничивался только выдачей предупреждения или ошибки, когда что-то пошло не так при обработке даты и времени, но теперь добавлена ​​отдельная генерация исключений DateMalformedIntervalStringException, DateInvalidOperationException, DateRangeError в случае возникновения проблем с операцией даты и времени.

Из других изменений которые выделяются:



  • Добавлена ​​возможность извлекать константы с использованием синтаксиса динамического класса.
  • добавлена ​​функция получить байты из строки () может использоваться для генерации строки нужной длины из байтов случайно выбранной строки
  • Улучшена обработка ошибок, возникающих при разборе сериализованных данных в функции. unserialize (). В случае проблем, unserialize () теперь вернется E_WARNING вместо E_УВЕДОМЛЕНИЕ.
  • Был добавлен получить поплавок() который возвращает число с плавающей запятой между $мин y $ макс
  • добавлена ​​функция следующий поплавок().
  • Добавлены новые функции POSIX. posix_sysconf(), posix_pathconf(), posix_fpathconf() и posix_eaccess().
  • При использовании FFI функции C, которые имеют возвращаемый тип void, теперь возвращают null вместо возврата FFICData:void.

    posix_getrlimit() теперь принимает необязательный параметр $res, позволяющий получить ограничение на один ресурс.
  • gc_status() имеет четыре новых поля: работающий, защищенный, полностью buffer_size.
  • class_alias() теперь поддерживает создание псевдонима внутреннего класса.
  • mysqli_poll() теперь вызывает ValueError при передаче аргументов чтения или ошибки.
  • array_pad () теперь вы ограничены только максимальным количеством элементов, которые может иметь массив. Раньше можно было добавить не более 1048576 элементов за раз.
  • Новые функции posix: posix_sysconf(), posix_pathconf(), posix_fpathconf() и posix_eaccess()
  • пробег proc_get_status () несколько раз теперь всегда будет возвращать правильное значение в системах posix.

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.



Стоит отметить, что релиз стабильной версии PHP 8.3 запланирован на 23 ноября.




2023-06-11T15:57:28
программирование