Nepoužívejte zastaralé funkce PHP
PHP od verze 5.3.0 upozorňuje (prostřednictvím chyb E_DEPRECATED
v error_reporting) na zastaralé funkce, které budou v budoucích verzích PHP zcela odstraněny. Některé nepodporované funkce jsou ponechávány v PHP delší dobu aby měli vývojáři čas na zapracování změn kompatibilních s novými verzemi PHP.
Aktuálně stabilní podporované verze PHP7 uvádějí na přehledných stránkách nepodporované funkce jednotlivých verzí. Informace je možné naleznout například na stránce nepodporovaných funkcí poslední stabilní verze PHP7.4.
Nejdůležitější změny aktuálních verzi PHP7x
Zastaralé funkce od 7.4
- vnořené ternární operátory bez explicitního vyjádření závorek
- syntaxe přístupu k offsetu pole nebo objektu pomocí složených závorek. Nově je nutné používat tvar
$var[$idx]
namísto$var{$idx}
- datový typ
(real)
a funkceis_real()
, místo uvedených lze použít(float)
a funkci is_float() - používání funkce
array_key_exists()
na objektu. Místo tohoto lze použít isset() nebo property_exists() - funkce
get_magic_quotes_gpc()
aget_magic_quotes_runtime()
, budou vždy vracetFALSE
.
Zastaralé funkce od verze 7.3
- konstanty bez rozlišení velkých a malých písmen
- deklarace funkce s názvem
assert()
uvnitř konkrétního jmenného prostoru, je v určitých případech v kolizi s funkcí assert() - funkce z GD knihovny image2wbmp()
Zastaralé funkce od verze 7.2
- funkce z GD knihovny
png2wbmp()
ajpeg2wbmp()
- metodu
__autoload()
nelze kombinovat s funkci spl_autoload_register() která uvedenou funkci implementuje - funkce
create_function()
, z bezpečnostního důvodu. Upřednostňovaná varianta je použít anonymní funkci - funkce pro generování náhodných čísel
gmp_random()
, doporučuje se použít gmp_random_bits() a gmp_random_range() - funkce
parse_str()
bez uvedení druhého argumenturesult
funkce - funkce
each()
z důvodu výrazného zpomalení oproti foreach - alias
read_exif_data()
, je možné misto něj použít exif_read_data()
Zastaralé funkce od verze 7.1
- dlouhodobě nepodporované rozšíření
mcrypt
bude odstraněno v PHP 7.2. kde je možné používat sodium - volba
Eval
ve funkcíchmb_ereg_replace()
amb_eregi_replace()
Zastaralé funkce od verze PHP 7.0
- nelze použít stejný název třídy a metody uvnitř dané třídy
- statické volání metody třídy která není staticky definována
- volba
salt
(soli) ve funkcipassword_hash()
, nově není možné vlastní sůl definovat, funkce sama generuje kryptograficky bezpečnou sůl ldap_sort()
doporučujeme dále nepoužívat