Использование старых программ с новыми версиями PHP
Сейчас PHP является популярным языком сценариев(скриптов) и поэтому появляется все больше и больше распространяемых кусочков кода, которые вы можете использовать в своих скриптах. В большинстве случаев разработчики PHP старались сохранить совместимость с предыдущими версиями так, чтобы код, написанный для более старой версии, работал (в идеале) и с новыми версиями языка без каких-либо изменений. Однако случается так, что изменения все-таки необходимы.
Есть два важных изменения, которые влияют на старые программы:
- С PHP 5.4.0, старые массивы $HTTP_*_VARS удалены. Следующие суперглобальные массивы были добавлены в PHP » 4.1.0: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, и $_SESSION.
-
Внешние переменные больше не глобализуются по умолчанию. Другими
словами, начиная с версии PHP
» 4.2.0,
директива register_globals
в php.ini по умолчанию отключена ("off").
Рекомендуемый метод доступа к таким переменным - суперглобальные
массивы, описанные выше. Более старые программы, книги и руководства
могут считать, что данная директива включена ("
on
"). К примеру, если бы эта директива была включена ("on
"), такой скрипт мог бы использовать переменную $id, поступившую из строки URLhttp://www.example.com/foo.php?id=42
. Вне зависимости от значения данной директивы, переменная $_GET['id'] будет всегда доступна.