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 een BlogData-klasse definiëren met alleen-lezen eigenschappen voor de title en status 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 ofwel A en B implementeert, ofwel null is.
  • Null, false en true als stand-alone types: in PHP 8.2 kun je het false, true en null keywords als stand-alone types gebruiken. Dit kan handig zijn als je wilt aangeven dat een methode altijd false, true of null zal retourneren. Bijvoorbeeld, je kunt een Falsy-klasse definiëren met methoden die altijd false, true of null 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.