PHP 8.2 is nu beschikbaar; wat is er nieuw?
PHP 8.2 is de nieuwste release van de programmeertaal PHP en biedt verschillende nieuwe functies en verbeteringen. PHP 8.2 is nu beschikbaar in al onze hostingpakketten. Je kunt er alvast even mee testen; maar we raden nog af om je website direct over te zetten. Veel CMS'en zoals WordPress en Joomla! hebben wat tijd nodig om er voor te zorgen dat hun systemen goed werken met deze nieuwe PHP-versie.
Compatibiliteit met WordPress en Joomla
Per versie 6.1 meldt WordPress dat het bèta compatibiliteit heeft met PHP 8.2. Je kunt dus in principe WordPress gewoon gebruiken op PHP 8.2, maar het kan wel zijn dat er nog kleine oneffenheden in kunnen zitten. Let bij WordPress ook voornamelijk op de plugins die je gebruikt; vaak duurt het daarbij wat langer voordat ze geschikt zijn voor een nieuwe PHP-versie.
Volgens de technische requirements van de Joomla! website is PHP 8.0 nog de aanbevolen versie, maar wij hebben een installatie van Joomla! werkend getest op PHP 8.2. Let wel dat Joomla! nog nergens heeft aangekondigd dat het PHP 8.2 volledig ondersteund.
Hoe gebruik ik PHP 8.2?
Je kunt PHP 8.2 nu selecteren via cPanel. Hiervoor kun je de optie "Select PHP version" gebruiken. Deze kun je vinden in cPanel onder het kopje "Software".
Kies vervolgens voor PHP-versie 8.2
Vernieuwingen in PHP 8.2
Een kort overzicht van de nieuwe functies van PHP 8.2, als je een developer bent.
- Readonly classes: je kunt nu het
readonly
keyword gebruiken om aan te geven dat een class read-only eigenschappen heeft. Bijvoorbeeld, je kunt eenBlogData
-klasse definiëren met alleen-lezen eigenschappen voor detitle
enstatus
van het blog. Dit kan nuttig zijn als je wilt voorkomen dat deze eigenschappen per ongeluk worden gewijzigd in de loop van de uitvoering van je code. - Disjunctive Normal Form (DNF) types: je kunt nu een combinatie van union en intersection types gebruiken om het type van een parameter te definiëren. Dit kan het makkelijker maken om complexe typen te definiëren. Bijvoorbeeld, je kunt een
bar
-methode definiëren die een object accepteert dat ofwelA
enB
implementeert, ofwelnull
is. - Null, false en true als stand-alone types: in PHP 8.2 kun je het
false
,true
ennull
keywords als stand-alone types gebruiken. Dit kan handig zijn als je wilt aangeven dat een methode altijdfalse
,true
ofnull
zal retourneren. Bijvoorbeeld, je kunt eenFalsy
-klasse definiëren met methoden die altijdfalse
,true
ofnull
retourneren. - Random extensie: PHP 8.2 bevat een nieuwe "Random" extensie waarmee je object-georiënteerde API's kunt gebruiken voor het genereren van willekeurige getallen. Dit kan handig zijn als je willekeurige getallen nodig hebt voor het testen van je code, het genereren van wachtwoorden, of andere toepassingen waarbij willekeurigheid belangrijk is.
- Constants in traits: je kunt nu constanten definiëren in traits en deze gebruiken in de klassen die deze traits gebruiken. Dit kan handig zijn als je meerdere klassen hebt die dezelfde constanten delen.
- Deprecate dynamic properties: in PHP 8.2 wordt het aanmaken van dynamische eigenschappen gedeeltelijk afgeschaft om fouten en typfouten te voorkomen. Tenzij een klasse het
#[\AllowDynamicProperties]
attribuut gebruikt, zullen dynamische eigenschappen een deprecation warning veroorzaken. Dit kan helpen om je code beter te structureren en duidelijker te maken welke eigenschappen een object heeft.