Використання старих скриптів з новими версіями PHP

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

Дві останні найбільш важливі зміни, які можуть вплинути на старий код:

  • Застарівші масиви $HTTP_*_VARS вже стали недоступними починаючи з PHP 5.4.0. Наступні суперглобальні масиви були введені в PHP » 4.1.0. Це: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, та $_SESSION.
  • Зовнішні змінні вже не реєструються в глобальній області початково. Іншими словами, починаючи з PHP » 4.2.0 в файлі php.ini директива register_globals початково має значення off (відключена). Рекомендований метод доступа до цих змінних - через суперглобальні масиви, згадані вище. Старі скрипти, книги, та посібники можуть вважати цю директиву on (включеною). Наприклад, якщо б ця директива була встановлена в on, можна було б використовувати змінну $id, отриману методом GET з адреси http://www.example.com/foo.php?id=42. Включена чи ні, директива, але дане значення можна отримати через $_GET['id'].
Більш детально ці зміни описані в розділі предвизначені змінні.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top