Функціонал, оголошений застарілим у 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()