Tři tipy v PHP 8.2
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ů:
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.
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: