Tři tipy v PHP 8.2

Jiří Pudil
SUPERKODERS
Published in
2 min readMar 7, 2023

Na začátku prosince vyšla další verze PHP s pořadovým číslem 8.2 a po opatrném čekání na první setinkové patche už novinky nasazujeme do projektů. Vytipovali jsme tři tipy, které nám připadají nejzajímavější a nejužitečnější.

Atribut SensitiveValue

V PHP 8.2 přibyl atribut SensitiveValue. Tím můžeme označit citlivé hodnoty, které do aplikace vstupují, jako jsou uživatelská hesla nebo nejrůznější API klíče. PHP se pak postará o to, že nám žádný z takhle označených parametrů neuteče do stack trace a odtud pak třeba i do logů:

Před
Po

Readonly classes

PHP pokračuje v přidávání syntaktických cukrátek. V nejnovější verzi PHP 8.2 to jsou readonly classes — hodí se zejména pro nejrůznější data-transfer objekty, které mají jenom a pouze readonly properties. Nově v nich můžeme klíčové slovo „readonly“ uvést jenom jednou v hlavičce samotné třídy. Všechny její properties jsou díky tomu automaticky readonly.

Před
Po

Rozšiřování typového systému

Generika sice v PHP zatím nejsou, ale i přesto jazyk pokračuje v průběžném rozšiřování typového systému. V PHP 8.2 stojí za zmínku — kromě samostatných typů true, false a null — zejména typy v disjunktivní normální formě. Za tímhle složitým slovním spojením se skrývá prostý fakt, že nově můžeme specifickým způsobem kombinovat union a intersection typy, a tedy nativně zapsat nullable intersection anebo třeba tento užitečný typ:

Příklad

--

--

Jiří Pudil
SUPERKODERS

👨‍💻 Web developer (PHP, TypeScript, React). 📖 Open source fanboy. ☕ Coffee addict. 🎸 Guitar noisemaker.