{"id":64097,"date":"2025-12-05T09:33:01","date_gmt":"2025-12-05T08:33:01","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=64097&#038;preview=true&#038;preview_id=64097"},"modified":"2025-12-08T14:13:46","modified_gmt":"2025-12-08T13:13:46","slug":"php-8-5","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/","title":{"rendered":"PHP 8.5: Dit is wat er nieuw is in de nieuwste versie"},"content":{"rendered":"<p>De PHP Group heeft versie 8.5 uitgebracht van de open source scripttaal die een groot deel van het web aandrijft, waaronder sites die het WordPress CMS gebruiken.<\/p>\n<p>De release van PHP 8.5 in november markeerde het tweede jaar van het streven van de PHP community om jaarlijks grote updates uit te brengen, gevolgd door <a href=\"https:\/\/www.php.net\/supported-versions.php\">twee volle jaren van actieve ondersteuning<\/a> voor elke release.<\/p>\n<p>Hoewel 8.5 gloednieuw is, hebben we er al aandacht aan besteed in onze jaarlijkse <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-benchmarks\/\">PHP benchmarking<\/a> achter verschillende populaire CMS platforms en frameworks.<\/p>\n<p>Als je van plan bent om <a href=\"https:\/\/www.php.net\/manual\/en\/migration85.php\">PHP applicaties te migreren naar versie 8.5<\/a>, wil je natuurlijk weten wat er is veranderd in deze nieuwste release. En we denken dan meteen aan nieuwe features die je misschien kunt gebruiken om je code te verbeteren en oude functionaliteit die de ontwikkelaars van PHP willen verwijderen.<\/p>\n<p>Dit zijn naar onze bescheiden mening de hoogtepunten van de nieuwe release:<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Nieuwe features en verbeteringen in PHP 8.5<\/h2>\n<p>Laten we beginnen met nieuwe toevoegingen aan de PHP codebase. Deze wijzigingen beginnen meestal als <a href=\"https:\/\/wiki.php.net\/rfc\">Requests for Comments (RFC&#8217;s)<\/a> die uiteindelijk kunnen worden goedgekeurd en toegewezen aan een toekomstige PHP release.<\/p>\n<p>De nieuwe functies die hieronder worden beschreven, trekken de meeste aandacht rondom PHP 8.5.<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"disc\" selector=\"h3\" count-number=\"5\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<h3>Functie-calls chainen met een pipe operator<\/h3>\n<p>Een nieuwe pipe (<code class=\"language-php\">|&gt;<\/code>) operator chaint functie-calls op een manier die JavaScript-programmeurs vaag bekend in de oren zal klinken. De pipe werkt van links naar rechts en geeft bij elke stap een enkele waarde door langs de chain.<\/p>\n<p>Met vorige versies van PHP konden programmeurs een vergelijkbare taak uitvoeren door functies te nesten of door een reeks functie-calls te doorlopen op de geretourneerde waarde van elke stap.<\/p>\n<p>Hier is een eenvoudig voorbeeld waarbij de nieuwe pipe operator wordt gebruikt:<\/p>\n<pre><code class=\"language-php\">$text = ' New-in-php-8.4 ';\n\n$result = $text\n    |&gt; trim(...)\n    |&gt; (fn($str) =&gt; str_replace('4', '5', $str))\n    |&gt; (fn($str) =&gt; str_replace('-', ' ', $str))\n    |&gt; strtoupper(...);\n\nvar_dump($result);\n\/\/ string(14) \"NEW IN PHP 8.5\"<\/code><\/pre>\n<p>(Merk op dat we de <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-8-1\/#firstclass-callable-syntax\">eersteklas callable syntax<\/a> gebruiken <code class=\"language-php\">(...)<\/code> ge\u00efntroduceerd in PHP 8.1 met de <code class=\"language-php\">trim()<\/code> en <code class=\"language-php\">strtoupper()<\/code> functie-calls)<\/p>\n<p>De pipe-chain hierboven zou op een enkele regel geschreven kunnen worden, maar leesbaarheid zou een van de voordelen van deze nieuwe operator moeten zijn.<\/p>\n<p>Het bovenstaande komt overeen met het nesten van deze bewerkingen (in omgekeerde volgorde) op deze manier:<\/p>\n<pre><code class=\"language-php\">$text = \" New-in-php-8.4 \";\n\n$result = strtoupper(\n    str_replace(\u2018-, ' ',\n        str_replace('4', '5', \n            trim($text)\n         )\n     )\n);<\/code><\/pre>\n<p>Als alternatief zou een programmeur de taak in eerdere PHP-versies op deze manier kunnen hebben uitgevoerd:<\/p>\n<pre><code class=\"language-php\">$text = \" New-in-php-8.4 \";\n\n$result = trim($text);\n$result = str_replace('4', '5', $result);\n$result = str_replace(\u2018-, ' ', $result);\n$result = strtoupper($result);<\/code><\/pre>\n<h3>URL&#8217;s parsen met de nieuwe URI-extensie<\/h3>\n<p>URL&#8217;s (ook wel URI&#8217;s genoemd voor degenen die nauwkeuriger zijn) zijn essentieel voor navigatie op het web, maar de functie <code class=\"language-php\">parse_url()<\/code> die sinds versie 4 in PHP is ingebouwd, staat erom bekend problemen te hebben met misvormde invoer die kan leiden tot fouten bij het proberen te manipuleren of valideren van websiteadressen.<\/p>\n<p>Om het parsen van URL&#8217;s te verbeteren, bevat PHP 8.5 de libraries <a href=\"https:\/\/uriparser.github.io\/\">uriparser<\/a> en <a href=\"https:\/\/lexbor.com\/\">Lexbor<\/a> voor ondersteuning van respectievelijk <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc3986\">RFC 3986<\/a> en <a href=\"https:\/\/url.spec.whatwg.org\/\">WHATWG URL-standaarden<\/a>.<\/p>\n<p>Je kunt de uniparser library callen door op deze manier met de nieuwe URI extensie te beginnen:<\/p>\n<pre><code class=\"language-php\">$uri = new UriRfc3986Uri(\"https:\/\/kinsta.com\/blog\/php-8-5\/\"); \n\necho $uri-&gt;getScheme();       \/\/ https\necho $uri-&gt;getHost();         \/\/ kinsta.com\necho $uri-&gt;getPath();         \/\/ \/blog\/php-8-5<\/code><\/pre>\n<p>Als alternatief kun je de Lexbor WHATWG URL library kiezen als volgt:<\/p>\n<pre><code class=\"language-php\">$uri = new UriWagWgUrl(\"https:\/\/kinsta.com\/blog\/php-8-5\/\"); \n\necho $uri-&gt;getScheme();       \/\/ https\necho $uri-&gt;getUnicodeHost();  \/\/ kinsta.com\necho $uri-&gt;getAsciiHost();    \/\/ kinsta.com\necho $uri-&gt;getPath();         \/\/ \/blog\/php-8-5<\/code><\/pre>\n<p>De bovenstaande voorbeelden zijn de meest basale. De twee libraries die worden vertegenwoordigd door de URI-extensie in PHP 8.5 delen een aantal functionaliteiten en bevatten ook belangrijke verschillen.<\/p>\n<p>Een belangrijk verschil is dat de RFC 3986 library zowel &#8220;raw&#8221; als &#8220;normalized-decoded&#8221; representaties van URI&#8217;s ondersteunt. Dit kan handig zijn bij het werken met percent-decoded invoer en uitvoer. Gebruikt in een browser, bijvoorbeeld, zijn deze twee URI&#8217;s identiek:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/nl\/mykinsta\/\">https:\/\/kinsta.com\/mykinsta\/<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/nl\/mykinsta\/\">https:\/\/kinsta.com\/%6D%79%6B%69%6E%73%74%61\/<\/a><\/li>\n<\/ul>\n<p>In vorige versies van PHP kon je beginnen met <code class=\"language-php\">rawurldecode()<\/code> en <code class=\"language-php\">rawurlencode()<\/code> (die ook RFC 3986 compliant zijn), maar de nieuwe extensie is klaar om met alle componenten van URI&#8217;s te werken, of ze nu gecodeerd zijn of niet.<\/p>\n<p>Hier zijn enkele voorbeelden rechtstreeks uit de <a href=\"https:\/\/wiki.php.net\/rfc\/url_parsing_api\">RFC achter de nieuwe parsing API<\/a>:<\/p>\n<pre><code class=\"language-php\">$uri = new UriRfc3986Uri(\"https:\/\/%61pple:p%61ss@ex%61mple.com\/foob%61r?%61bc=%61bc\");\n  \necho $uri-&gt;getRawUserInfo();  \/\/ %61pple:p%61ss\necho $uri-&gt;getUserInfo();     \/\/ apple:pass\n \necho $uri-&gt;getRawUsername();  \/\/ %61pple\necho $uri-&gt;getUsername();     \/\/ apple\n \necho $uri-&gt;getRawPassword();  \/\/ p%61ss\necho $uri-&gt;getPassword();     \/\/ pass\n \necho $uri-&gt;getRawHost();      \/\/ ex%61mple.com\necho $uri-&gt;getHost();         \/\/ example.com\n \necho $uri-&gt;getRawPath();      \/\/ \/foob%61r\necho $uri-&gt;getPath();         \/\/ \/foobar\n \necho $uri-&gt;getRawQuery();     \/\/ %61bc=%61bc\necho $uri-&gt;getQuery();        \/\/ abc=abc<\/code><\/pre>\n<p>Bij gebruik van de WHATWG URL library met de nieuwe extensie worden alle URI&#8217;s als &#8220;raw&#8221; behandeld, dus er is geen aparte set functies om alternatieve opmaak te ondersteunen. Maar de library kan converteren tussen ASCII en Unicode karakters die vaak voorkomen in URI&#8217;s.<\/p>\n<h3>Wees streng met een nieuwe max_memory_limit INI richtlijn<\/h3>\n<p>Ze zeggen dat wanneer iemand veel macht heeft, daar ook een dosis verantwoordelijkheid aan vastzit. Als die macht ook inhoudt dat je moet kiezen hoeveel servergeheugen je PHP applicatie probeert te gebruiken, kun je verantwoordelijk zijn voor crashes van applicaties wanneer processen meer geheugen gebruiken dan er beschikbaar is.<\/p>\n<p>Een onderdeel van een typische PHP installatie is een <code>php.ini<\/code> bestand met configuratie-informatie dat een richtlijn bevat die een geheugengebruikslimiet specificeert voor elk PHP proces (<a href=\"https:\/\/kinsta.com\/nl\/blog\/php-threads-vs-php-geheugenlimiet\/\">of thread<\/a>). Een veelgebruikte INI directive voor een geheugenlimiet van 128 MB ziet er als volgt uit:<\/p>\n<pre><code>\/\/ php.ini\nmemory_limit 128M<\/code><\/pre>\n<p>Op sommige hostingplatforms kunnen ontwikkelaars van PHP-applicaties <code>memory_limit<\/code> on the fly overschrijven met de functie <code class=\"language-php\">ini_set()<\/code> in hun code:<\/p>\n<pre><code class=\"language-php\">ini_set(\u2018memory_limit\u2019, \u2018256M\u2019);\n \n\/\/ Start code that requires up to 256 MB of memory<\/code><\/pre>\n<p>Je kunt de functie ook de waarde <strong>-1<\/strong> geven, zoals <code class=\"language-php\">ini_set('memory_limit', '-1')<\/code> &#8211; om helemaal geen limiet op te leggen.<\/p>\n<p>Het overschrijven van de INI directive voor een geheugenlimiet kan riskant zijn voor ontwikkelaars die niet goed bekend zijn met de geheugenconfiguraties van de servers waarop hun applicaties draaien. Als een of meerdere PHP threads proberen meer dan de totale geheugenpool te gebruiken, kan het resultaat een applicatiecrash zijn zonder waarschuwing tijdens het draaien.<\/p>\n<p>PHP 8.5 voegt een <code>max_memory_limit<\/code> INI richtlijn toe die dient als een hard plafond, zelfs in setups waar ontwikkelaars toegang hebben tot <code class=\"language-php\">init_set()<\/code> om het geheugengebruik in hun code aan te passen.<\/p>\n<p>Hier zijn voorbeelditems in het <code>php.ini<\/code> bestand van een PHP 8.5 installatie:<\/p>\n<pre><code>\/\/ php.ini\nmax_memory_limit 256M\nmemory_limit 128M<\/code><\/pre>\n<p>Met een <code>max_memory_limit<\/code> van 256 MB gebeurt er het volgende in onze PHP code:<\/p>\n<pre><code class=\"language-php\">ini_set('memory_limit', '256M');  \/\/ This is OK\nini_set('memory_limit', '512M');  \/\/ Fail with warning\nini_set('memory_limit', '-1');    \/\/ Fail with warning<\/code><\/pre>\n<p>Pogingen om een nieuwe geheugenlimiet van 512 MB (of onbeperkt) in te stellen zullen geen succes hebben. In plaats daarvan zal PHP de geheugenlimiet instellen op de waarde die is toegewezen aan <code>max_memory_limit<\/code> in het bestand <code>php.ini<\/code> en een waarschuwing geven. (De waarschuwing kan op het scherm verschijnen en gelogd worden, afhankelijk van de instellingen voor foutrapportage van de PHP installatie)<\/p>\n<p>Een verstandige aanpak voor PHP 8.5 ontwikkelaars zou zijn om de <code class=\"language-php\">ini_get()<\/code> functie te gebruiken om te zien of de nieuwe maximale limiet is gedefinieerd, zoals <code class=\"language-php\">ini_get('max_memory_limit')<\/code> &#8211; en dan aan te passen aan de hand van de geretourneerde waarde. Met PHP-versies van voor 8.5 zou die aanroep veilig <code>false<\/code> retourneren.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Geheugen wordt hier bij Kinsta een beetje anders beheerd. Je kunt jongleren met het aantal threads en het geheugen dat aan elk van hen is toegewezen met het <a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/php\/wordpress-php-prestaties\/\">PHP Performance tool<\/a>. Met hetzelfde hulpprogramma kun je (tegen betaling) de grootte van de totale geheugenpool die door de threads wordt gedeeld, vergroten of verkleinen.<\/p>\n<\/aside>\n\n<h3>De eerste of laatste waarden in een array pakken<\/h3>\n<p>Steek je hand op als je zou aannemen dat PHP al functies had om de waarden te lezen die zijn opgeslagen als de eerste of laatste leden van een array.<\/p>\n<p>Het blijkt van niet. Maar sinds <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#array-key-first-last\">PHP 7.3<\/a> heeft het functies om de eerste en laatste <b>keys <\/b>in een array te achterhalen. Dus om de eerste en laatste waarden te vinden, kun je de functies <code class=\"language-php\">array_key_first()<\/code> of <code class=\"language-php\">array_key_last()<\/code> gebruiken en dan de teruggegeven keys gebruiken om te verwijzen naar de waarden die je zoekt:<\/p>\n<pre><code class=\"language-php\">$array = [\"One\", \"Two\", \"Three\"];\n\necho $array[array_key_first($array)]; \/\/ \"One\"\n<\/code><\/pre>\n<p>PHP 8.5 elimineert een stap voor die taak en stelt je in staat om de waarden direct te bereiken met de nieuwe <code class=\"language-php\">array_first()<\/code> en <code class=\"language-php\">array_last()<\/code> functies.<\/p>\n<p>Het is allemaal heel eenvoudig:<\/p>\n<pre><code class=\"language-php\">$array = [\"One\", \"Two\", \"Three\"];\n\necho array_first($array);  \/\/ \"One\"\necho array_last($array);   \/\/ \"Three\"\necho array_last([]);       \/\/ null<\/code><\/pre>\n<p>Hierboven kun je zien dat een lege array <code>null<\/code> retourneert, maar dat alleen bevestigt nog niet dat de hele array leeg is, omdat een arraywaarde null kan zijn:<\/p>\n<pre><code class=\"language-php\">echo array_last([1, 2, null]); \/\/ null<\/code><\/pre>\n<h3>Eraan herinnerd worden om de retourwaarde van een functie te gebruiken<\/h3>\n<p>PHP 5.8 voegt een nieuw <code class=\"language-php\">#[NoDiscard]<\/code> attribuut toe dat aangeeft dat de retourwaarde van een functie mogelijk kritiek is. PHP zal controleren of de retourwaarde op de een of andere manier wordt gebruikt en, zo niet, een waarschuwing geven.<\/p>\n<p>Een eenvoudig voorbeeld:<\/p>\n<pre><code class=\"language-php\">#[NoDiscard(\"this message property will be appended to the built-in warning.\")]\nfunction foo(): string {\n    return 'bar';\n}\n\n\/\/ Warning:\n\/\/ The return value of function foo() is expected to be consumed,\n\/\/ this message property will be appended to the built-in warning.\nfoo();\n\n\/\/ This will not trigger a warning:\n$result = foo();\n\n\/\/ Also satisfactory is the (void) cast:\n(void) foo();<\/code><\/pre>\n<p>In het bovenstaande voorbeeld wordt de retourwaarde van de gedefinieerde functie in eerste instantie helemaal niet gebruikt, waardoor een waarschuwing wordt geactiveerd. Maar wanneer de waarde wordt toegewezen aan de variabele <code class=\"language-php\">$result<\/code> of wordt gecast als <code class=\"language-php\">void<\/code>, wordt de waarde geacht te zijn geconsumeerd.<\/p>\n<p>De auteurs van de <a href=\"https:\/\/wiki.php.net\/rfc\/marking_return_value_as_important\">RFC achter deze toevoeging<\/a> aan PHP 8.5 beschreven dwingender toepassingen voor dit attribuut dan het eenvoudige voorbeeld hierboven. E\u00e9n scenario was een kritieke functie met een complexere foutmelding dan een eenvoudige pass\/fail, en het beste overgebracht via de retourwaarde van de functie.<\/p>\n<h4>Andere verbeteringen met betrekking tot attributen<\/h4>\n<p>Naast het nieuwe <code class=\"language-php\">#[NoDiscard]<\/code> attribuut, zijn er nog andere verbeteringen aan de attribuut metadata functionaliteit in de nieuwe release:<\/p>\n<ul>\n<li>Attributen kunnen nu gericht zijn op constanten.<\/li>\n<li>Het <code class=\"language-php\">#[Override]<\/code> attribuut kan nu worden toegepast op properties.<\/li>\n<li>Het <code class=\"language-php\">#[Deprecated]<\/code> attribuut kan worden gebruikt op properties en constanten.<\/li>\n<li>Een nieuw <code class=\"language-php\">#[DelayedTargetValidation]<\/code> attribuut kan worden gebruikt om compileerfouten te onderdrukken van core en extension attributen die worden gebruikt op ongeldige doelen.<\/li>\n<\/ul>\n<h2>Afschrijvingen en verwijderingen in PHP 8.5<\/h2>\n<p>Bij elke PHP release hoort een lijst met functionaliteiten die gemarkeerd zijn voor verwijdering in toekomstige versies. Het gebruik van afgeschreven functies in je code zal waarschuwingen triggeren. Als ze uiteindelijk uit PHP worden verwijderd, kan het gebruik ervan leiden tot fatale fouten.<\/p>\n<p>Hier zijn enkele opvallende elementen die zijn afgeschreven of verwijderd in PHP 8.5:<\/p>\n<ul>\n<li>De backtick operator als alias voor <code class=\"language-php\">shell_exec()<\/code> is afgeschreven.<\/li>\n<li>Niet-canonieke castnamen <code class=\"language-php\">(boolean)<\/code>, <code class=\"language-php\">(integer)<\/code>, <code class=\"language-php\">(double)<\/code>, en <code class=\"language-php\">(binary)<\/code> zijn afgeschreven. Gebruik in plaats daarvan <code class=\"language-php\">(bool)<\/code>, <code class=\"language-php\">(int)<\/code>, <code class=\"language-php\">(float)<\/code>, en <code class=\"language-php\">(string)<\/code>.<\/li>\n<li>De disable_classes INI instelling is verwijderd omdat deze ervoor zorgt dat verschillende aannames van de engine worden verbroken.<\/li>\n<li>Het be\u00ebindigen van <code class=\"language-php\">case<\/code> statements met een puntkomma in plaats van een dubbele punt is afgeschreven.<\/li>\n<li>Het gebruik van null als array offset of bij het callen van <code class=\"language-php\">array_key_exists()<\/code> is nu afgeschreven. Gebruik in plaats daarvan een lege string.<\/li>\n<li>Het is niet langer mogelijk om &#8220;array&#8221; en &#8220;callable&#8221; te gebruiken als klasse alias namen in <code class=\"language-php\">class_alias()<\/code>.<\/li>\n<li>De magic methods <code class=\"language-php\">__sleep()<\/code> en <code class=\"language-php\">__wakeup()<\/code> zijn soft-afgeschreven (soft-deprecated). In plaats daarvan moeten de magic methods <code class=\"language-php\">__serialize()<\/code> en <code class=\"language-php\">__unserialize()<\/code> worden gebruikt.<\/li>\n<li>Er wordt nu een waarschuwing gegeven bij het casten van NAN naar andere typen.<\/li>\n<li>Het destructureren van niet-array waarden (anders dan null) met <code class=\"language-php\">[]<\/code> of <code class=\"language-php\">list()<\/code> geeft nu een waarschuwing.<\/li>\n<li>Er wordt nu een waarschuwing gegeven bij het casten van floats (of strings die op floats lijken) naar <code class=\"language-php\">int<\/code> als ze niet als \u00e9\u00e9n kunnen worden gerepresenteerd.<\/li>\n<\/ul>\n<h2>Samenvatting<\/h2>\n<p>Dat was een blik op de hoogtepunten van de PHP 8.5 release. We zijn ervan overtuigd dat de nieuwe pipe operator en verbeterde URI parsing populair zullen zijn bij ontwikkelaars. Misschien zelfs de nieuwe functies <code class=\"language-php\">array_first()<\/code> en <code class=\"language-php\">array_last()<\/code>, waar we geld op zouden hebben ingezet dat ze al bestonden.<\/p>\n<p>Maar elke nieuwe PHP release bevat honderden wijzigingen. Je kunt een <a href=\"https:\/\/github.com\/php\/php-src\/blob\/PHP-8.5\/UPGRADING\">complete lijst van PHP 8.5 updates<\/a> vinden in de offici\u00eble GitHub repository van de PHP Group.<\/p>\n<p>Ondertussen zijn we hier bij Kinsta bezig om PHP 8.5 beschikbaar te maken voor onze <a href=\"https:\/\/kinsta.com\/nl\/wordpress-hosting\/\">WordPress hostingklanten<\/a>. Wanneer dat online is, kun je overschakelen naar de nieuwe versie met behulp van onze <a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/php\/wordpress-herstarten-updaten\/#update-php\">PHP-instellingen<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>De PHP Group heeft versie 8.5 uitgebracht van de open source scripttaal die een groot deel van het web aandrijft, waaronder sites die het WordPress CMS &#8230;<\/p>\n","protected":false},"author":259,"featured_media":64098,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[867],"class_list":["post-64097","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-php-updates"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP 8.5: dit is er nieuw in de nieuwste release<\/title>\n<meta name=\"description\" content=\"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.5: Dit is wat er nieuw is in de nieuwste versie\" \/>\n<meta property=\"og:description\" content=\"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-05T08:33:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-08T13:13:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"PHP 8.5: Dit is wat er nieuw is in de nieuwste versie\",\"datePublished\":\"2025-12-05T08:33:01+00:00\",\"dateModified\":\"2025-12-08T13:13:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/\"},\"wordCount\":1739,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png\",\"inLanguage\":\"nl-NL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/\",\"name\":\"PHP 8.5: dit is er nieuw in de nieuwste release\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png\",\"datePublished\":\"2025-12-05T08:33:01+00:00\",\"dateModified\":\"2025-12-08T13:13:46+00:00\",\"description\":\"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP updates\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/php-updates\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PHP 8.5: Dit is wat er nieuw is in de nieuwste versie\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP 8.5: dit is er nieuw in de nieuwste release","description":"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/","og_locale":"nl_NL","og_type":"article","og_title":"PHP 8.5: Dit is wat er nieuw is in de nieuwste versie","og_description":"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.","og_url":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2025-12-05T08:33:01+00:00","article_modified_time":"2025-12-08T13:13:46+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png","type":"image\/png"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Steve Bonisteel","Geschatte leestijd":"11 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"PHP 8.5: Dit is wat er nieuw is in de nieuwste versie","datePublished":"2025-12-05T08:33:01+00:00","dateModified":"2025-12-08T13:13:46+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/"},"wordCount":1739,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png","inLanguage":"nl-NL"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/","url":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/","name":"PHP 8.5: dit is er nieuw in de nieuwste release","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png","datePublished":"2025-12-05T08:33:01+00:00","dateModified":"2025-12-08T13:13:46+00:00","description":"Het is weer zover: een nieuwe PHP release is uitgebracht. Dit zijn de highlights van PHP 8.5.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/php-8-5\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2025\/12\/whats-new-in-php-8.5.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/php-8-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"PHP updates","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/php-updates\/"},{"@type":"ListItem","position":3,"name":"PHP 8.5: Dit is wat er nieuw is in de nieuwste versie"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/nl\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/64097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=64097"}],"version-history":[{"count":4,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/64097\/revisions"}],"predecessor-version":[{"id":64118,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/64097\/revisions\/64118"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/translations\/es"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/64097\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/64098"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=64097"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=64097"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=64097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}