Главная / В помощь вебмастеру / Устаревшие функции и возможности в PHP 5.3.x

Устаревшие функции и возможности в PHP 5.3.x

PHP 5.3.0 вводит два новых уровня ошибок: E_DEPRECATED и E_USER_DEPRECATED. Уровень ошибкиE_DEPRECATED используется, чтобы показать, что функция или возможность устарела. ОшибкаE_USER_DEPRECATED предназначена для обозначения устаревших функций в пользовательском коде, подобно уровням E_USER_ERROR и E_USER_WARNING.

Следующий список - это перечень устаревших INI-директив. Использование любой из этих директив будет приводить к генерации ошибки E_DEPRECATED при запуске.

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Комментарии, начинающиеся с символа "#", теперь считаются устаревшими в INI-файлах.

Устаревшие функции:

  • call_user_method() (используйте call_user_func())
  • call_user_method_array() (используйте call_user_func_array())
  • define_syslog_variables()
  • dl()
  • ereg() (используйте preg_match())
  • ereg_replace() (используйте preg_replace())
  • eregi() (используйте preg_match() с модификатором 'i')
  • eregi_replace() (используйте preg_replace() с модификатором 'i')
  • set_magic_quotes_runtime() и ее синоним magic_quotes_runtime()
  • session_register() (используйте суперглобальный массив $_SESSION)
  • session_unregister() (используйте суперглобальный массив $_SESSION)
  • session_is_registered() (используйте суперглобальный массив $_SESSION)
  • set_socket_blocking() (используйте stream_set_blocking())
  • split() (используйте preg_split())
  • spliti() (используйте preg_split() с модификатором 'i')
  • sql_regcase()
  • mysql_db_query() (используйте mysql_select_db() и mysql_query())
  • mysql_escape_string() (используйте mysql_real_escape_string())
  • Передача строки, задающей категорию функций, на которые будет влиять установка локали, сейчас считается устаревшим вариантом. Используйте вместо этого семейство констант LC_*
  • Параметр is_dst в функции mktime(). Вместо него используйте новые функции работы с временными зонами.

Устаревшие возможности:

  • Присвоение по ссылке возвращаемого значения оператором new является устаревшим.
  • Передача по ссылке во время исполнения считается устаревшим способом.

Источник http://php.net/manual/ru/migration53.deprecated.php