Vyhledávání na webu

PHP 8.5 představuje rozšíření URI, operátor pipe a vylepšení syntaxe


PHP 8.5 představuje nové rozšíření URI, operátor pipe a vylepšení syntaxe klíčů, přinášející rychlejší výkon a čistší kód.

PHP, serverový programovací jazyk používaný převážně k vytváření dynamických webových stránek a webových aplikací, právě vydal verzi 8.5, zásadní aktualizaci, která přidává novou syntaxi, rozšířenou podporu atributů, zlepšení výkonu a několik funkcí řízených RFC.

Jedním z nejvýznamnějších přírůstků je nový vestavěný rozšíření URI. Poskytuje konzistentní API pro parsování a úpravu URL, v souladu jak s RFC 3986, tak s normami WHATWG URL. Díky podpoře uriparser a Lexbor nahrazuje parse_url() v situacích, kde je vyžadováno přesné a standardům odpovídající zpracování.

Dalším významným prvkem této verze je zavedení operátoru pipe (|>), který umožňuje řetězení funkcí zleva doprava. To odstraňuje hluboce vnořené volání funkcí a usnadňuje čtení a údržbu transformačních potrubí. Hodnoty se pohybují přímo přes volatelné objekty, včetně arrow funkcí a částečných aplikací, jako je trim(...).

PHP 8.5 také vylepšuje práci s objekty pomocí syntaxe clone-with. Vývojáři nyní mohou aktualizovat vybrané vlastnosti při klonování objektu prostřednictvím clone($obj, ['prop' => value]), což zjednodušuje vzor „with-er“ a umožňuje jeho použití ve třídách pouze pro čtení bez zbytečného kódu.

Dalším doplňkem je atribut #[\NoDiscard], který vydá varování, když je návratová hodnota funkce neúmyslně ignorována. To pomáhá odhalovat chyby v API, kde je správné chování závislé na vrácené hodnotě, přičemž (void) je k dispozici, když vývojář výslovně zvolí její ignorování.

Jazyk také rozšiřuje podporu pro výrazy při kompilaci. Statické uzávěry a funkce první třídy jsou nyní povoleny v konstantních výrazech, což je činí použitelnými v argumentech atributů, výchozích hodnotách vlastností a třídních konstantách.

Výkonnostní vylepšení zahrnují trvalé cURL share handly. Pomocí curl_share_init_persistent() share handly přežívají mezi jednotlivými požadavky a znovu využívají dříve inicializovaná připojení, čímž se snižuje režie při opakovaných síťových operacích u dlouhodobě běžících aplikací.

Dvě nové pomocné funkce, array_first() a array_last(), nabízí jasnější zpracování běžných případů. Obě vracejí null pro prázdná pole, což usnadňuje kombinaci s operátorem slučování s null a odstraňuje potřebu ručního ověřování klíčů.

Další změny pokrývají širokou škálu jazykových funkcí. Kritické chyby nyní zahrnují zpětné sledování, atributy mohou cílít na konstanty a statické vlastnosti podporují asymetrickou viditelnost.

Vlastnosti mohou být označeny jako final pomocí zlepšení vlastností konstruktoru. Navíc PHP přidává nové metody DOM, jako jsou getElementsByClassName() a insertAdjacentHTML(), spolu s novými pomocnými funkcemi, jako je grapheme_levenshtein().

Nakonec zahrnují zastarání v PHP 8.5 odstranění nekanonických názvů přetypování, označení operátoru zpětného apostrofu jako aliasu pro shell_exec() za zastaralý, varování při neplatných převodech float na int a omezení používání null jako indexu pole. Starší metody serializace __sleep() a __wakeup() jsou nyní měkce zastaralé ve prospěch __serialize() a __unserialize().

Pro více informací o všech změnách v PHP 8.5 se podívejte na oficiální oznámení o vydání nebo na tuto stránku.