PHP 8.5 predstavuje rozšírenie URI, operátor pipe a zlepšenia syntaxe


PHP 8.5 predstavuje nové rozšírenie URI, operátor pipe a vylepšenia syntaxe kľúčov, čím poskytuje rýchlejší výkon a čistejší kód.

PHP, serverový programovací jazyk používaný hlavne na tvorbu dynamických webových stránok a webových aplikácií, práve vydal verziu 8.5, významnú aktualizáciu, ktorá pridáva novú syntax, rozšírenú podporu atribútov, zlepšenie výkonu a viacero funkcií riadených RFC.

Jednou z najvýznamnejších noviniek je nový integrovaný modul URI. Poskytuje konzistentné API na analýzu a úpravu URL, v súlade s normami RFC 3986 a WHATWG URL. Podporovaný knižnicami uriparser a Lexbor nahrádza parse_url() v scenároch, kde je potrebné presné a štandardom vyhovujúce spracovanie.

Ďalším významným prvkom tejto verzie je zavedenie operátora rúry (|>), ktorý umožňuje reťazenie funkcií zľava doprava. To odstraňuje hlboko vnorené volania funkcií, čo uľahčuje čítanie a údržbu transformačných pipeline-ov. Hodnoty prechádzajú priamo cez volateľné objekty, vrátane arrow funkcií a čiastočných aplikácií, ako napríklad trim(...).

PHP 8.5 tiež zlepšuje prácu s objektmi pomocou syntaxe clone-with. Vývojári teraz môžu aktualizovať vybrané vlastnosti pri klonovaní objektu cez clone($obj, ['prop' => value]), čo zjednodušuje vzor „with-er“ a umožňuje jeho použitie v readonly triedach bez zbytočného kódu.

Ďalším prírastkom je atribút #[\NoDiscard], ktorý vydá upozornenie, keď sa návratová hodnota funkcie neúčelne ignoruje. Pomáha to odhaliť chyby v API, kde je návratová hodnota potrebná pre správne fungovanie, pričom (void) je k dispozícii, keď sa vývojár rozhodne návratovú hodnotu výslovne zahodiť.

Jazyk tiež rozširuje podporu pre výrazové výrazy za kompilácie. Statické uzávierky a prvotriedne volateľné objekty sú teraz povolené v konštantných výrazoch, čo ich umožňuje použiť v argumentoch atribútov, predvolených hodnotách vlastností a triednych konštantách.

Výkonnostné vylepšenia zahŕňajú pretrvávajúce cURL share handly. S curl_share_init_persistent() share handly pretrvávajú naprieč požiadavkami a znovu používajú predtým inicializované údaje o pripojení, čím sa znižuje režijná záťaž pri opakovaných sieťových operáciách pre dlhodobo bežiace aplikácie.

Dve nové pomocné funkcie, array_first() a array_last(), ponúkajú prehľadnejšie spracovanie bežných prípadov. Obe vracajú null pre prázdne polia, čo zjednodušuje kombináciu s operátorom null-coalescing a odstraňuje potrebu manuálneho overovania kľúčov.

Ďalšie zmeny sa týkajú širokej škály jazykových funkcií. Fatálne chyby teraz zahŕňajú spätné trasovanie, atribúty môžu cieliť na konštanty a statické vlastnosti podporujú asymetrickú viditeľnosť.

Vlastnosti môžu byť označené ako final prostredníctvom zvýhodnenia vlastností v konštruktore. Okrem toho PHP pridáva aj nové metódy DOM, ako napríklad getElementsByClassName() a insertAdjacentHTML(), spolu s novými pomocnými funkciami, ako je grapheme_levenshtein().

Nakoniec, v PHP 8.5 sú zmeny zahŕňajúce odstránenie nekanonických názvov typových konverzií, zastaranie operátora spätného úvodzovku (`) ako aliasu pre shell_exec(), varovania pri neplatných konverziách z float na int a obmedzenia pri používaní null ako indexu poľa. Staršie metódy serializácie __sleep() a __wakeup() sú teraz mäkko zastarané v prospech __serialize() a __unserialize().

Pre viac informácií o všetkých zmenách v PHP 8.5 sa odkazujte na oficiálne oznámenie o vydaní alebo na túto stránku.