Устаревшие функции и возможности в 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'
) - mcrypt_generic_end()
- 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 является устаревшим.
- Передача по ссылке во время исполнения объявлено устаревшим.