Функціонал, оголошений застарілим у PHP 7.2.x

Рядки без лапок

Рядки без лапок, які не є існуючими глобальними константами, рахувалися за рядки. Така поведінка раніше викликала помилку рівня E_NOTICE, але тепер буде E_WARNING. У наступній основній версії PHP замість помилки викидатиметься виняток Error

Loading...

png2wbmp() і jpeg2wbmp()

Функції png2wbmp() і jpeg2wbmp() з модуля GD оголошені застарілими та будуть видалені у наступній основній версії PHP.

Вариант**INTL_IDNA_VARIANT_2003**

У модулі Intl оголошено застарілим варіант INTL_IDNA_VARIANT_2003, який в даний час використовується за замовчуванням для функцій idn_to_ascii() і idn_to_utf8()В PHP 7.4 значение по умолчанию будет изменено на**INTL_IDNA_VARIANT_UTS46**, а в наступній основній версії PHP константа INTL_IDNA_VARIANT_2003 буде повністю видалено.

Функция__autoload()

Функция__autoload() була оголошена застарілою, тому що вона поступається альтернативною функцією spl_autoload_register() (через те, що не може мати чергу з функцій автозавантаження), і через те, що немає сумісності між цими двома стилями автозавантаження.

Параметрtrack_errorsи переменная$php_errormsg

Когда параметрtrack_errors включений в ini-налаштуваннях, змінна $php_errormsg створюється у локальній області видимості, коли відбувається не фатальна помилка. Враховуючи, що кращим способом отримання такої інформації про помилку є використання функції error_get_last(), дана можливість була оголошена застарілою.

Функцияcreate_function()

Враховуючи проблеми з безпекою цієї функції (через те, що вона є обгорткою над eval()), ця функція оголошена застарілою. Переважною альтернативою є використання анонімних функцій

Параметрmbstring.func_overload

Враховуючи проблеми сумісності рядкових функцій, що використовуються в оточеннях із включеним цим параметром, цей параметр оголошено застарілим.

Приведение типа(unset)

Приведення будь-якого виразу з використанням цього типу завжди призводить до null, і тому цей надлишковий тип приведення оголошено застарілим.

parse_str() без другого параметра

Без передачі другого параметра функції parse_str(), параметри рядка запиту будуть заповнювати поточну таблицю символів (доступні як змінні в локальній області видимості). Враховуючи наслідки для безпеки через це, використання parse_str() без другого параметра оголошено застарілим. Ця функція завжди повинна використовуватися з двома аргументами, тому що в другому аргументі зберігаються параметри рядка запиту як елементи масиву.

Функцияgmp_random()

Ця функція генерує випадкове число, засноване на діапазоні, який обчислюється залежно від платформи розміру лімба (limb). Через це ця функція оголошена застарілою. Переважним способом генерації випадкового числа через модуль GMP є використання функцій gmp_random_bits() і gmp_random_range()

Функцияeach()

Ця функція набагато повільніша за ітерацією, ніж використання звичайного foreach, і створює проблеми з реалізацією деяких змін мови, тому дана функція оголошена застарілої.

assert() з рядковим аргументом

Использованиеassert() з рядковим параметром вимагало передачі рядка для виконання eval(). Враховуючи можливість віддаленого виконання коду, використання assert() із рядковим аргументом тепер оголошено застарілим на користь використання логічних виразів.

Аргумент$errcontext в обробниках помилок

Аргумент$errcontext містить усі локальні змінні в місці, де була помилка. Зважаючи на рідкісне його використання та проблеми, пов'язані з внутрішньою оптимізацією, цей параметр оголошено застарілим. Натомість рекомендується використовувати налагоджувач для отримання інформації про помилки.

Функцияread_exif_data()

Псевдонимread_exif_data() був оголошений застарілим на користь функції exif_read_data()