(\?[^php]).*(\:).*(\?).*(\:[^=])
Above regex can help others to find the nested ternary operatorОбележани функции
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Обележани функции
Референца за `migration74.deprecated.php` со подобрена типографија и навигација.
Обележани функции
PHP јадро
Вгнездени тернарни оператори без експлицитни загради
Вгнездените тернарни операции мора експлицитно да користат загради за да го диктираат редоследот на операциите. Претходно, кога се користеше без загради, левата асоцијативност не резултираше со очекуваното однесување во повеќето случаи.
<?php
1 ? 2 : 3 ? 4 : 5; // deprecated
(1 ? 2 : 3) ? 4 : 5; // ok
1 ? 2 : (3 ? 4 : 5); // ok
?>Заградите се not потребни кога се вгнездува во средниот операнд, бидејќи ова е секогаш недвосмислено и не е под влијание на асоцијативноста:
1 ? 2 ? 3 : 4 : 5 // okПристап до низи и низови со помош на загради
Синтаксата за пристап до низи и низови со помош на загради е застарена. Користете $var[$idx] наместо
$var{$idx}.
(реално) кастинг и is_real() function
На (real) кастинг е застарен, користете (float) instead.
На is_real() функцијата исто така е застарена, користете is_float() instead.
Отврзување $this when $this се користи
Отврзување $this на нестатичка затворање што користи $this е застарено.
parent клучниот збор без родителска класа
Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: parent внатре во класа без родител е застарен и ќе фрли грешка при компајлирање во иднина. Во моментов, грешка ќе се генерира само ако/кога родителот се пристапи во време на извршување.
allow_url_include INI опција
На allow_url_include ini директивата е застарена. Овозможувањето ќе генерира известување за застареност при стартување.
Невалидни знаци во функциите за конверзија на база
Поминувањето на невалидни знаци до base_convert(), bindec(), octdec() and hexdec() сега ќе генерира известување за застареност. Резултатот сепак ќе биде пресметан како да не постоеле невалидните знаци. Водечките и завршните празни места, како и префиксите од типот 0x (во зависност од базата) продолжуваат да бидат дозволени.
Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: array_key_exists() на објекти
Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: array_key_exists() на објекти е застарено. Наместо тоа, или isset() or property_exists() треба да се користи.
Функции за магични цитати
На get_magic_quotes_gpc() and get_magic_quotes_runtime()
се застарени. Тие секогаш враќаат false.
hebrevc() function
На hebrevc() функцијата е застарена. Може да се замени со nl2br(hebrev($str)) или, по можност, употребата на поддршка за Unicode RTL.
convert_cyr_string() function
На convert_cyr_string() функцијата е застарена. Може да се замени со една од mb_convert_string(), iconv() or UConverter.
money_format() function
На money_format() функцијата е застарена. Може да се замени со intl NumberFormatter functionality.
ezmlm_hash() function
На ezmlm_hash() функцијата е застарена.
restore_include_path() function
На restore_include_path() функцијата е застарена. Може да се замени со ini_restore('include_path').
Имплодирај со историски редослед на параметри
Поминување параметри до implode() во обратен редослед е застарено, користете implode($glue, $parts)
наместо implode($parts, $glue).
COM
Увезувањето на библиотеки за типови со регистрирање на константи што не ги зема предвид големите и малите букви е застарено.
Филтер
FILTER_SANITIZE_MAGIC_QUOTES е застарено, користете FILTER_SANITIZE_ADD_SLASHES instead.
Повеќебајтни низи
Поминување на не-низа шема до mb_ereg_replace() е застарено. Во моментов, не-низа шемите се толкуваат како ASCII точки на кодови. Во PHP 8, шемата наместо тоа ќе се толкува како низа.
Поминување на кодирањето како 3-ти параметар до mb_strrpos() е застарено. Наместо тоа, поминете поместување од 0, и кодирање како 4-ти параметар.
Протокол за пристап до лесна директориумска услуга
ldap_control_paged_result_response() and ldap_control_paged_result() се застарени. Контролите за пагинација може да се испратат заедно со ldap_search() instead.
Рефлексија
Повиците до ReflectionType::__toString() сега генерирајте известување за застареност. Овој метод е застарен во корист на ReflectionNamedType::getName() во документацијата од PHP 7.1, но не фрли известување за застареност од технички причини.
На export() методи на сите Рефлексија
класите се застарени. Конструирајте Рефлексија објект и наместо тоа претворете го во стринг:
<?php
// ReflectionClass::export(Foo::class, false) is:
echo new ReflectionClass(Foo::class), "\n";
// $str = ReflectionClass::export(Foo::class, true) is:
$str = (string) new ReflectionClass(Foo::class);
?>Сокет
На AI_IDN_ALLOW_UNASSIGNED and
AI_IDN_USE_STD3_ASCII_RULES знаменца за
socket_addrinfo_lookup() се застарени, поради застареност наводно во glibc.