boolean, double, integer, binary)В PHP 8.5 типы
(boolean), (double), (integer) и (binary) объявлены устаревшими: при использовании этих типов теперь выводятся предупреждения E_DEPRECATED. Эти альтернативные имена использовались параллельно с каноническими (bool), (float), (int) и (string), но в PHP 9.0 они будут удалены. Рассмотрим, почему принято такое решение, как это затронет ваш код и как подготовиться к переходу.Пример проблемного кода:
<?php
function test(integer $value): double {}
// Warning: "double" will be interpreted as a class name...
(integer) → (int)(double) → (float) (boolean) → (bool)(binary) → (string)Иначе будут предупреждения
E_DEPRECATED, а в PHP 9.0 — ошибки!#PHP #PHP85 #Deprecated #Deprecation
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
mysqli_execute объявлена устаревшейВ PHP 8.5 функция
mysqli_execute объявлена устаревшей. Узнайте, как правильно заменить её на mysqli_stmt_execute и обеспечить совместимость кода с будущими версиями PHP.Что делать?
mysqli_stmt_execute — обратно совместимоmysqli_execute_query для PHP 8.2+В статье:
mysqli_execute устаревшей#PHP #PHP85 #Deprecated #Deprecation
Please open Telegram to view this post
VIEW IN TELEGRAM
socket_set_timeout объявлена устаревшейВ PHP 8.5 функция
socket_set_timeout официально объявлена устаревшей (deprecated).Не волнуйтесь, замена простая и прямая — используйте
stream_set_timeout. Параметры и поведение идентичны, обратная совместимость полная.Что нужно сделать?
socket_set_timeout (через grep или IDE)stream_set_timeout#PHP #PHP85 #Deprecated
Please open Telegram to view this post
VIEW IN TELEGRAM
Начиная с PHP 8.5 вывод из обработчиков буфера вывода объявлен устаревшим. При обнаружении вывода из обработчика PHP сгенерирует предупреждение
E_DEPRECATED, хотя сам вывод по-прежнему будет подавлен. В PHP 9.0 это приведёт к фатальной ошибке (Fatal Error), что прервёт выполнение скрипта.Что делать?
echo, print или `include`содержащих выводob_start внутри обработчика)Подробное руководство по аудиту и рефакторингу с живыми примерами — в статье.
#PHP #PHP85 #Deprecated
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
MHASH_* объявлены устаревшимиЗнакомы с функциями
mhash() и константами вроде MHASH_SHA1? В PHP 8.5 они окончательно помечены как устаревшие. Что это значит для ваших проектов? 👇• Все константы
MHASH_* теперь выводят предупреждение об устаревании.• Прямая таблица замен на строковые алгоритмы для
hash().• Инструменты для автоматической миграции: PHPStan, Rector.
Пора обновлять код, пока изменения не стали критичными.
#PHP #PHP85 #Hash #MHash #Deprecated
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2