Промяната и усъвършенстването на дадена технология или софтуер е процес с етапи, които най-често се отбелязват с пореден номер или уникално име на версията. Във всяка следваща версия, освен подобренията и нововъведенията, се прилагат и поправки на вече съществуващи характеристики.
В различните версии на много технологии и проекти като PHP, jQuery, WordPress, HTML и т.н. могат да се видят функции и опции, които са маркирани като deprecated.
Обозначаването на дадена функция като deprecated, означава че използването на тази функция не е препоръчително и че функцията ще бъде премахната в следваща нова версия.
Deprecated функциите се поддържат в текущата версия, в която са обявени като deprecated. Това дава време на разработчиците на приложения, които ползват дадената технология, да обновят кода си, преди реално функционалността да бъде премахната.
В новите версии се изключват определени функции или се заменят с нови, по-добри и по-сигурни. Когато дадена функция не продължи живота си в следващите версии на технологията, влиза в списъка на deprecated функциите и характеристиките.
PHP
PHP Deprecated функции
Функции и опции обозначени за премахване (deprecated) | Премахнати и променени функции и опции, несъвместими с предишната версия | |
PHP 5.3.x | register_globals, magic_quotes_gpc, ereg(), eregi(), session_register(), split(), spliti()… | realpath(), clearstatcache(), s2k hashing algorithm… |
PHP 5.4.x | mcrypt_generic_end(), mysql_list_dbs(), sqlite… | safe mode, register_globals, magic_quotes, session_register()… |
PHP 5.5.x | mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mysql_connect(), mysql_query()… | php_logo_guid(), zend_logo_guid()… |
PHP 5.6.x | iconv.output_encoding, mbstring.http_input, mbstring.internal_encoding… | json_decode(), Mcrypt functions… |
Изпълнение на PHP Deprecated функции
Когато при зареждане на даден сайт се изпълни PHP функция, която е deprecated, се получават подобни съобщения:
Възможно е подобни съобщения да се получат при промяна на версията на PHP за сайт. За всички Linux хостинг планове от СуперХостинг.БГ можете да смените версия на PHP от „PHP Manager by SuperHosting„.
Можете да спрете получаването на тези съобщения по два начина. Първият начин е препоръчителен.
1. Обновяване на кода, смяна на използваната deprecated функция (препоръчително)
2. Деактивиране на показването на тези съобщения
Чрез опциите на директивата error_reporting (в php.ini) може да се контролира какви съобщения за грешка ще се показват.
Например, ако са подадени следните опции:
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
ще се показват всички съобщения за грешка (E_ALL), освен нотификациите (E_NOTICE) и предупрежденията за изпълнена deprecated функционалност (E_DEPRECATED).
Показването на всички съобщения за грешка, нотификациите и предупрежденията можете да деактивирате чрез директивата display_errors = Off. Промяната на тази директива може да се извърши бързо и лесно през „PHP Manager by SuperHosting“ в cPanel.
Deprecated при други технологии и проекти
HTML 5
Премахнати елементи и атрибути в HTML 5: <center>, <font>, <frame>, <frameset>, <noframes>, align(img,table,tr,td), cellpadding, cellspacing (table) …
jQuery
Премахнати (или променени) функции и опции във версиите на
jQuery
Python
Премахнати (или променени) функции и опции във версиите на Python: Python 3.4 Python 3.3
WordPress
Премахнати (или променени) функции и опции във версиите на WordPress
- wp-includes/deprecated.php Template Tags, Conditional Tags, Include Tags и други функции
- wp-admin/includes/deprecated.php Административен панел
- wp-includes/pluggable-deprecated.php Pluggable Functions
- wp-includes/ms-deprecated.php WordPress multisite
- wp-admin/includes/ms-deprecated.php Административен панел на WordPress multisite