preloader

PHP 7.4 – Co je nového? (Funkce, rychlost, zastaralé funkce)

Našim klientům

Milí klienti, dovolte mi Vás informovat, v následujících dnech bude probíhat upgrade PHP Vašich webových stránek z verze 7.3 na verzi 7.4. Každou stránku zvlášť se budeme snažit projít a opravit případné chyby spojeny s přechodem.

Děkujeme za pochopení.

Co to znamená pro vás?

PHP pokračuje v evoluci vypuštěním poslední verze PHP 7.4 plné nových funkcí. Jak jsme již mohli vidět v předešlých aktualizacích – výkon a rychlost se stále zlepšuje. Jednou z největších novinek je funkce preloading. Pomáhá ke zrychlení vykonávání procesu a dále nám zjednodušuje práci k dosažení rychlého a čistého skriptu díky zjednodušení zápisu běžného kódu.

Novinky v kostce

Arrow Functions: Krátké funkce, také nazývaná Arrow Functions (šipkové funkce), které dovolují vývojářům psát kratší zápisy funkcí v PHP. Krátké funkce mají pouze jeden výraz, který je také příkazem return. Z tohoto důvodu jsou Arrow Functions nejvhodnější pro jednořádkové příkazy k uzavření. Tyto funkce pomáhají zlepšit čitelnost kódu.

Typed Class DeclarationDalší funkce přidaná do PHP 7.4 je tzn. typed class properties. Vývojář může přidat tuhle možnost k třídě bez narušení starší verze PHP. Types classes budou fungovat pouze ve třídě a pokud budou mít přístup k modifikátoru.

Null Coalescing Assignment Operator: Přidává nový operátor (??), jako zkratku zjištění stavu NULL

$this->request->data['comments']['user_id'] ??= ‘value’;

Support for Weak References: Weak References dovolují programátorovi zachovat odkaz na objekt, která nebrání jeho odstranění. To umožní vývojáři vytvářet struktury podobné cache paměti.

Výkonové srovnání

Deprecations for PHP 7.4 RFC

V PHP 7.4 opět přibylo pár věcí označených jako deprecated. Typicky jde o podivnosti, o kterých jste ani netušili, že existují.

Ty nejzajímavější:

  • datový typ real (byl to jen alias pro float)
  • použití array_key_exists() pro zjištění existence property objektu
  • volání implode() s prohozenými parametry implode($pieces, $glue)
  • funkce money_format() – mělo by se používat NumberFormatter::formatCurrency()

Na závěr

Jak si můžete všimnou, posun v rychlosti je vyšší, než při posledních buildech, za nás největší výhodou bude vychytání samotných “zastaralých” funkcí před přechodem na samotnou verzi PHP 8.