четверг, 6 декабря 2007 г.

Сделайте свой код совместимым с PHP6

С выходом PHP6 некоторые скрипты, разработчики которых используют устаревшие конструкции PHP, перестанут работать. Чтобы избежать такой ситуации нужно придерживаться некоторых новых правил.
  1. register_globals. В PHP6 больше не будет поддержки register_globals. Уже в 5-ой версии разработчики PHP рекомендовали отключать эту переменную в php.ini, да и по умолчанию она была в off. Так вот, в 6-й версии от register_globals полностью отказались. Пользуйтесь суперглобальными массивами: $_GET, $_POST, $_SERVER, $_REQUEST и т.д.
  2. magic_quotes. При включенной данной переменной, PHP автоматом экранировал символы: одинарной кавычки, двойной кавычки, обратного слэша и NULL. Часто имела место быть ситуация повторной экранировки, когда у разработчика скрипта и пользователя magic_quotes в php.ini принимала разные значения (on/off). Разработчики PHP в 6-й версии наконец решили совсем избавиться от этой переменной.
  3. register_long_arrays. Вместо длинных массивов типа $HTTP_POST_VARS (их больше не будет), пользуйтесь суперглобальными $_GET, $_POST, $_SERVER, $_REQUEST и т.д.
  4. preg вместо ereg. Для работы с регулярными выражениями вместо функции ereg нужно использовать preg. ereg уходит из языка.
  5. Классы. Не создавайте экземпляр класса при помощи оператора ссылки (&).
    $a = & new object(); // Не будет работать в PHP6
    $a = new object(); // Будет работать в PHP 6
Источник...

Комментариев нет: