Ошибка Deprecation и сложности при переходе на версию PHP 5.3

Язык PHP продолжает стремительно развиваться и с выходом версии PHP 5.3 большинство разработчиков столкнулись с интересной ошибкой:

Deprecated: Function eregi() is deprecated in …

Что такое DEPRECATED? Это некоторые параметры, функции и возможности, которые обозначены как НЕИСПОЛЬЗУЕМЫЕ и в последующих версиях будут УДАЛЕНЫ.

Для начала конечно можно временно (повторюсь временно) можно выключить в файле php.ini данные предупреждения что бы сайт восстановил работоспособность и не выдавали так же ошибки вывода заголовков Headers (популярная ошибка новичков headers already sent) В PHP 5.3. для этого добавлено 2 уровня ошибок (error level) E_DEPRECATED и E_USER_DEPRECATED, которые и управляют выводом предупреждений (Warning)

Полный список изменений вы можете увидеть на официальном сайте PHP Deprecated features in PHP 5.3.x

Следующие директивы php.ini будут отмечены как НЕИСПОЛЬЗУЕМЫЕ (DEPRECATED) в PHP 5.3 и удалены в PHP 6.0.0

 

    • register_globals — теперь всегда OFF. Наконец-то! =)

 

    • register_long_arrays$HTTP_*_VARS навсегда уйдут в небытие.

 

    • safe_mode — безопасный режим. По умолчанию OFF.

 

    • magic_quotes_gpc
      magic_quotes_runtime
      magic_quotes_sybase — будут удалены при переходе версии.

 

    • Теперь в php.ini файле нельзя будет применять комментарии, начинающиеся с #

 

Так же следующие функции:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И следующие возможности:

    • В new передача параметра по ссылке в переменную

 

    • Вызов call-time функций, методов и классов по ссылке

 

    • Использование {} для указания смещения внутри строки. Теперь это можно сделать с помощью [] (как в массиве)

 

Следует позаботиться о замене функций аналогами, описанными выше и переписать скрипты.

Запись опубликована в рубрике PHP с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *