
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 ноября.