{"id":20332,"date":"2018-11-05T05:08:27","date_gmt":"2018-11-05T03:08:27","guid":{"rendered":"https:\/\/kinsta.com\/?p=31095"},"modified":"2023-05-22T14:20:28","modified_gmt":"2023-05-22T12:20:28","slug":"php-7-3","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/","title":{"rendered":"Wat is er nieuw in PHP 7.3?"},"content":{"rendered":"<p>Op 6 december werd PHP 7.3 vrijgegeven, de meest recente en beste versie van PHP! De nieuwe versie levert nieuwe handige features, functionaliteiten, afschrijvingen, een flink aantal bugfixes en verbeteringen in prestaties.\u00a0<strong>PHP 7.3 is beschikbaar voor alle Kinsta-klanten <\/strong>in het <a href=\"https:\/\/my.kinsta.com\/sites\/tools\/?lang=nl\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta dashboard<\/a>.\u00a0\ud83e\udd18<\/p>\n<p><strong>Update:<\/strong> <a href=\"https:\/\/kinsta.com\/nl\/changelog\/php-8-1\/\">PHP 8.1 (offici\u00eble release)<\/a> is nu beschikbaar voor alle Kinsta klanten. PHP 7.3 wordt niet langer ondersteund door Kinsta. Houd er rekening mee dat we PHP versies 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 en 8.5 ondersteunen.<\/p>\n<p>In dit artikel geven we een overzicht van de features en veranderingen die ons het meest zijn opgevallen. Je kan natuurlijk altijd de volledige lijst met features, veranderingen en bugfixes bekijken in de <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.3 upgrade notes<\/a> en de <a href=\"https:\/\/wiki.php.net\/rfc#php_73\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.3 Requests for Comments<\/a>.<\/p>\n<p><strong>Bijwerken<\/strong>: <a href=\"https:\/\/kinsta.com\/nl\/changelog\/php-7-4\/\">PHP 7.4 (offici\u00eble release)<\/a> is nu beschikbaar voor alle Kinsta clients.<\/p>\n\n<h2>Nieuw in PHP 7.3<\/h2>\n<p>In deze post behandelen we de volgende veranderingen in PHP 7.3:<\/p>\n<ul>\n<li><a href=\"#flexible-heredoc-nowdoc\">Flexibele heredoc- en nowdoc-syntax ge\u00efmplementeerd<\/a><\/li>\n<li><a href=\"#trailing-comma-in-function-calls\">Een volgkomma in functie-aanroepen toestaan<\/a><\/li>\n<li><a href=\"#JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/a><\/li>\n<li><a href=\"#list\">list() referentieopdracht <\/a><\/li>\n<li><a href=\"#is-countable\">is_countable-functie <\/a><\/li>\n<li><a href=\"#array-key-first-last\">array_key_first(), array_key_last()<\/a><\/li>\n<li><a href=\"#argon2\">Verbeteringen aan de Argon2 wachtwoord-hash <\/a><\/li>\n<li><a href=\"#deprecations\">Deprecations<\/a><\/li>\n<\/ul>\n<h2 id=\"flexible-heredoc-nowdoc\">Flexibele heredoc- en nowdoc-syntax<\/h2>\n<p>Dit is waarschijnlijk een van de meest relevante verbeteringen van PHP 7.3, en we vinden dat het wat meer aandacht verdient. Dus, voordat je gaat duiken in PHP 7.3 Heredoc \/ Nowdoc-wijzigingen, bieden we een kort overzicht van deze nuttige kernfunctie. Als je al bekend bent van nowdoc en heredoc, ga dan gerust naar de wijzigingen in PHP 7.3.<\/p>\n<ul>\n<li><a href=\"#heredoc-nowdoc-overview\">Een overzicht van heredoc- en nowdoc-syntax<\/a><\/li>\n<li><a href=\"#heredoc-nowdoc-indentation\">PHP 7.3: De afsluitende marker laten inspringen en de leidende witruimte verwijderen <\/a><\/li>\n<li><a href=\"#heredoc-nowdoc-closing-marker\">PHP 7.3: De nieuwe regel-eis na een afsluitende marker verwijderen<br \/>\n<\/a><\/li>\n<\/ul>\n<h3 id=\"heredoc-nowdoc-overview\">Een overzicht van heredoc- en nowdoc-syntax<\/h3>\n<p><strong> De heredoc-syntax biedt een manier om een grote hoeveelheid tekst toe te voegen zonder dat je deze hoeft te includeren door bijvoorbeeld dubbele aanhalingstekens. <\/strong>. Een heredoc begint met <code>&lt;&lt;&lt;<\/code> gevolgd door een marker, en eindigt met dezelfde marker gevolgd door een puntkomma. Hier is een voorbeeld:<\/p>\n<pre><code class=\"language-php\">print &lt;&lt;<\/code><\/pre>\n<p>Een nowdoc gedraagt zich veelal als een heredoc, met een paar uitzonderingen:<\/p>\n<ul>\n<li>De identificatiemarker is ingesloten in enkele aanhalingstekens (<code>&lt;&lt;&lt;'EOT'<\/code>)<\/li>\n<li>Er vindt geen parsing plaats in een nowdoc<\/li>\n<\/ul>\n<p>Hier is een voorbeeld van nowdoc:<\/p>\n<pre><code class=\"language-php\">print &lt;&lt;&lt;'EOT'\nNowdocs zijn voor strings in enkele aanhalingstekens wat heredocs zijn voor strings in dubbele aanhalingstekens.\nEOT;<\/code><\/pre>\n<p>Heredocs en nowdocs delen dezelfde regels die het gebruik van de afsluitende marker reguleren:<\/p>\n<ol>\n<li>De afsluitende marker moet beginnen in de eerste kolom van de regel<\/li>\n<li>De marker moet dezelfde regels volgen voor namen als elk ander PHP-label: het mag alleen bestaan uit letters, cijfers en lage streepjes, en moet beginnen met een niet-numeriek karakter of een lage streep.<\/li>\n<\/ol>\n<p>Het <a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.heredoc\" target=\"_blank\" rel=\"noopener noreferrer\"> PHP-handboek<\/a> waarschuwt:<\/p>\n<blockquote><p>Het is erg belangrijk om op te merken dat de regel met de afsluitende identifier geen andere tekens mag bevatten dan de puntkomma (;). Dat betekent met name dat de identifier <em>niet mag worden ingesprongen<\/em>, en dat er geen spaties of witruimtes voor of na de puntkomma mogen staan. Het is ook belangrijk om te beseffen dat het eerste teken voor de afsluitende identifier een nieuwe regel moet zijn, zoals gedefinieerd door het lokale besturingssysteem. Dit is <code>\\n<\/code> op UNIX-systemen, inclusief macOS. Het afsluitende scheidingsteken moet ook worden gevolgd door een nieuwe regel.<\/p><\/blockquote>\n<p><strong>PHP 7.2 ongeldige syntax:<\/strong><\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;<\/code><\/pre>\n<p><strong>PHP 7.2 geldige syntax:<\/strong><\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;<\/code><\/pre>\n<p>In het kort, in PHP 7.2:<\/p>\n<ul>\n<li>De afsluitende marker mag niet worden ingesprongen<\/li>\n<li>De regel met de afsluitende marker mag geen karakters bevatten zoals spaties of witruimtes<\/li>\n<li>Het eerste karakter voor de afsluitende marker moet een nieuwe regel zijn<\/li>\n<li>De afsluitende marker moet gevolgd worden door een nieuwe regel<\/li>\n<\/ul>\n<p>Het is duidelijk dat de syntaxis van heredoc en nowdoc behoorlijk restrictief zijn, maar PHP 7.3 kan dit een beetje versoepelen met de volgende verbeteringen.<\/p>\n<h3 id=\"heredoc-nowdoc-indentation\">1. De afsluitende marker laten inspringen en de leidende witruimte verwijderen<\/h3>\n<p><strong> Met PHP 7.3 mogen we de afsluitende marker inspringen<\/strong> en kunnen we de volgende code veilig schrijven:<\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;<\/code><\/pre>\n<p>De inspringing van de afsluitende marker bepaalt de hoeveelheid witruimte (of tabs) die van elke regel van de wordt verwijderd. Maar let op: <strong>de afsluitende marker mag nooit verder worden ingesprongen dan een andere regel van de body<\/strong>.<\/p>\n<p>Zie de onderstaande code:<\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;<\/code><\/pre>\n<p>De bovenstaande code geeft de volgende parsingfout:<\/p>\n<pre>Parse error: Invalid body indentation level (expecting an indentation at least ...) in %s on line %d<\/pre>\n<p>Het verwijderen van tabs en witruimtes stelt ons in staat om de body van de heredoc\/nowdoc op hetzelfde niveau van de code te laten inspringen, en dat zonder onnodige witruimte voor elke regel van de body.<\/p>\n<p>We kunnen zowel tabs als spaties gebruiken om in te springen, maar we mogen ze niet combineren. Dit betekent dat <strong>we dezelfde inspringingstekens moeten gebruiken voor de afsluitende marker en alle regels van de body<\/strong>. In het geval van verschillende inspringingstekens, verwachten we een ander soort parsingfout (ongeldige inspringing).<\/p>\n<h3 id=\"heredoc-nowdoc-closing-marker\">2. De nieuwe regel-eis na een afsluitende marker verwijderen<\/h3>\n<p>Momenteel moet een nieuwe regel de markering volgen om de heredoc\/nowdoc syntax af te sluiten. PHP 7.3 zou dit veranderen en zou ons in staat stellen het heredoc\/nowdoc op dezelfde regel te be\u00ebindigen. Hier is een voorbeeld uit de RFC:<\/p>\n<p><strong>PHP 7.2 geldige syntax:<\/strong><\/p>\n<pre><code class=\"language-php\">$values = [&lt;&lt;<\/code><\/pre>\n<p><strong>PHP 7.3 geldige syntax:<\/strong><\/p>\n<pre><code class=\"language-php\">$values = [&lt;&lt;<\/code><\/pre>\n<p>Hoe dan ook, wees voorzichtig bij het kiezen van de naam van je marker, want &#8220;af en toe&#8221; verwacht je een fout als deze overeenkomt met een woord dat je in de body van de heredoc\/nowdoc hebt gebruikt (lees hier meer over op de <a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> en <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING#L33\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>).<\/p>\n<p>Beide voorstellen zijn aangenomen met meer dan twee derde van de stemmen.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\" target=\"_blank\" rel=\"noopener noreferrer\"> Flexibele heredoc- en nowdoc-syntax <\/a><\/li>\n<\/ul>\n<h4>Overige bronnen<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.heredoc\" target=\"_blank\" rel=\"noopener noreferrer\">Heredoc string syntax<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.nowdoc\" target=\"_blank\" rel=\"noopener noreferrer\">Nowdoc string syntax<\/a><\/li>\n<\/ul>\n<h2 id=\"trailing-comma-in-function-calls\">Een volgkomma in functie-aanroepen toestaan<\/h2>\n<p>Volgkomma\u2019s (\u201ctrailing commas\u201d) zijn komma\u2019s die zijn toegevoegd aan een lijst met elementen, parameters of eigenschappen. Ze zijn handig in contexten waar nieuwe waarden vaak worden toegevoegd omdat ze fouten voorkomen als gevolg van een ontbrekende komma. In PHP zijn volgkomma&#8217;s toegestaan in arrays en vanaf <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a> zijn ze toegestaan in gegroepeerde namespaces.<\/p>\n<p>Vanaf PHP 7.3 zouden volgkomma&#8217;s toegestaan zijn in functiedeclaraties. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Variadic_function\" target=\"_blank\" rel=\"noopener noreferrer\">Variadische functies <\/a> bieden een voorbeeld van context waarin volgkomma&#8217;s bijzonder nuttig zijn:<\/p>\n<pre><code class=\"language-php\">foo(\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>We kunnen een volgkomma gebruiken wanneer we een array maken met <code>compact()<\/code>, om een opgemaakte string terug te geven me <code>sprintf()<\/code>, of bij het samenvoegen van een array:<\/p>\n<pre><code class=\"language-php\">$newArray = array_merge(\n    $arrayOne,\n    $arrayTwo,\n    ['foo', 'bar'],\n);<\/code><\/pre>\n<p>Volgkomma\u2019s zouden ook handig zijn bij het debuggen:<\/p>\n<pre><code class=\"language-php\">var_dump(\n    $foo,\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>En ze zijn erg krachtig met <code>unset()<\/code> en <code>isset()<\/code>:<\/p>\n<pre><code class=\"language-php\">unset(\n    $foo,\n    $bar,\n    $baz,\n);\n\nisset(\n    $foo,\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Volgkomma\u2019s worden ook toegestaan in methodeaanroepen en insluitingen.<\/p>\n<p>Opmerking: <strong>deze wijziging zou alleen van invloed zijn op functieaanroepen. De syntax voor functiedeclaraties zal niet veranderen<\/strong>. Bovendien zijn vrijstaande komma&#8217;s, meerdere volgkomma&#8217;s en leidende komma&#8217;s niet toegestaan.<\/p>\n<p>Extra voorbeelden zijn te vinden op de <a href=\"https:\/\/wiki.php.net\/rfc\/trailing-comma-function-calls\" target=\"_blank\" rel=\"noopener noreferrer\">RFC-pagina<\/a>. Deze RFC is aangenomen met een 30 stemmen voor en 10 stemmen tegen.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\" target=\"_blank\" rel=\"noopener noreferrer\"> Flexibele heredoc- en nowdoc-syntax<\/a><\/li>\n<\/ul>\n<h2 id=\"JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/h2>\n<p>Een van de meest gewaardeerde functies van PHP 7.3 biedt een nieuwe manier om JSON-fouten af te handelen. Dit is geen kernfunctionaliteit, maar een toevoeging aan de JSON-extensie die het foutgedrag van <a href=\"http:\/\/www.php.net\/json_decode\" target=\"_blank\" rel=\"noopener noreferrer\">json_decode()<\/a> en <a href=\"http:\/\/www.php.net\/json_encode\" target=\"_blank\" rel=\"noopener noreferrer\">json_encode()<\/a> zal aanpassen.<\/p>\n<p>Momenteel returnt, <code>json_decode()<\/code> een <code>null<\/code> bij een foutmelding, maar <code>null<\/code> kan ook een geldige uitkomst zijn. Dit kan verwarrend zijn, omdat het alleen mogelijk is om te weten of er een fout is opgetreden door<\/p>\n<blockquote><p><code>json_last_error()<\/code> of <code>json_last_error_msg()<\/code> aan te roepen, welke de globale foutstatus in respectievelijk machineleesbare en door mensen leesbare vormen returnen. &#8211; <a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\" target=\"_blank\" rel=\"noopener noreferrer\">PHP RFC<\/a><\/p><\/blockquote>\n<p><code>json_encode()<\/code> returnt <code>FALSE<\/code> bij een foutmelding. Dit is duidelijker omdat er een specifieke foutwaarde is. Hoe dan ook, <strong>beide functies stoppen noch de uitvoering van het programma op fouten, noch geven ze een waarschuwing<\/strong>.<\/p>\n<p>Dat gezegd hebbende, hier is het voorstel voor PHP 7.3:<\/p>\n<blockquote><p>Deze RFC stelt voor om in plaats daarvan een nieuwe flag-waarde voor <code>json_decode()<\/code> en <code>json_encode()<\/code>, toe te voegen, genaamd <code>JSON_THROW_ON_ERROR<\/code>. Wanneer deze flag wordt uitgevaardigd, verandert het foutgedrag van deze functies. De globale foutstatus blijft ongewijzigd, en als er een fout optreedt die deze in zou stellen, gooien deze functies in plaats daarvan een <code>JsonException<\/code> op met het bericht en de code die zijn ingesteld op wat <code>json_last_error()<\/code> en <code>json_last_error_msg()<\/code> in dat geval zouden zijn.<\/p><\/blockquote>\n<p>Hier is een voorbeeld van een eenvoudige manier om een JSON-foutmelding te genereren:<\/p>\n<pre><code class=\"language-php\">try {\n    json_decode(\"{\", false, 512, JSON_THROW_ON_ERROR);\n}\ncatch (\\JsonException $exception) {\n    echo $exception-&gt;getMessage(); \/\/ echoot een \"Syntax error\"\n}<\/code><\/pre>\n<p>Het opgooien van een uitzondering bij een fout zou verschillende voordelen opleveren die je op de <a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> kunt vinden.<\/p>\n<p>Let op: een ongeldige diepteparameter die is doorgegeven aan <code>json_decode()<\/code> geeft een waarschuwing en returnt <code>NULL<\/code>. Dit gedrag wordt niet be\u00efnvloed door <code>JSON_THROW_ON_ERROR<\/code>. Op dezelfde manier worden parameterafstemmingsfouten niet be\u00efnvloed door <code>JSON_THROW_ON_ERROR<\/code> en blijven ze waarschuwingen produceren.<\/p>\n<p>Dit voorstel is aangenomen met 23 stemmen voor en 0 stemmen tegen.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\" target=\"_blank\" rel=\"noopener noreferrer\">JSON_THROW_ON_ERROR<\/a><\/li>\n<\/ul>\n<h4>Overige bronnen<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/book.json.php\" target=\"_blank\" rel=\"noopener noreferrer\"> JavaScript objectnotatie <\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json-decode.php\" target=\"_blank\" rel=\"noopener noreferrer\">json_decode()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json_encode\" target=\"_blank\" rel=\"noopener noreferrer\">json_encode()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json-last-error.php\" target=\"_blank\" rel=\"noopener noreferrer\">json_last_error()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json-last-error-msg.php\" target=\"_blank\" rel=\"noopener noreferrer\">json_last_error_msg()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.exceptions.php\" target=\"_blank\" rel=\"noopener noreferrer\">PHP Language Exceptions<\/a><\/li>\n<\/ul>\n<h2 id=\"list\">list() referentieopdracht<\/h2>\n<h3>Wat is een referentieopdracht?<\/h3>\n<p>Let op de volgende regel:<\/p>\n<pre><code class=\"language-php\">$b = &$a;<\/code><\/pre>\n<p>Hier krijgt <code>$b<\/code> de waarde van <code>$a<\/code>, maar die waarde wordt niet gekopieerd van $a naar $b\u00a0. In PHP kunnen we een waarde toewijzen met een verwijzing, wat betekent dat twee variabelen naar dezelfde gegevens kunnen verwijzen en elke wijziging aan een variabele de oorspronkelijke gegevens be\u00efnvloedt. Hier is <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\" target=\"_blank\" rel=\"noopener noreferrer\"> een voorbeeld uit de PHP-handleiding<\/a>:<\/p>\n<pre><code class=\"language-php\">&lt;?php\n$a = 3;\n$b = &$a; \/\/ $b is een referentie naar $a\n\nprint \"$a\\n\"; \/\/ print 3\nprint \"$b\\n\"; \/\/ print 3<\/code><\/pre>\n<p>En kijk nu wat er gebeurt wanneer we <code>$a<\/code>veranderen:<\/p>\n<pre><code class=\"language-php\">$a = 4; \/\/ verander $a\n\nprint \"$a\\n\"; \/\/ print 4\nprint \"$b\\n\"; \/\/ print ook 4, omdat $b een referentie is naar $a, welke is aangepast<\/code><\/pre>\n<h3>Het list()-element en hoe het verandert in PHP 7.3<\/h3>\n<p>Het <a href=\"http:\/\/www.php.net\/list\" target=\"_blank\" rel=\"noopener noreferrer\">list()<\/a>-computertaalelement kan worden gebruikt om &#8220;variabelen toe te wijzen alsof ze een array zaten&#8221;, maar met <code>list()<\/code> kunnen we momenteel geen variabele waarden toewijzen met een verwijzing.<\/p>\n<p>PHP 7.3 past dit aan, waardoor we variabelen kunnen toewijzen door te verwijzen naar de constructie <code>list()<\/code> zoals in het volgende voorbeeld:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\nlist($a, &$b) = $array;<\/code><\/pre>\n<p>Wat functioneel hetzelfde is als:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\n$a = $array[0];\n$b =& $array[1];<\/code><\/pre>\n<p>Het voordeel van dit voorstel is dat we nu meerdere variabelen met een verwijzing kunnen toewijzen, wat momenteel niet is toegestaan. Meer voorbeelden zijn beschikbaar op de <a href=\"https:\/\/wiki.php.net\/rfc\/list_reference_assignment\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a>. Dit voorstel is aangenomen met 17 voor en 7 stemmen tegen.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/list_reference_assignment\" target=\"_blank\" rel=\"noopener noreferrer\"> list() referentieopdracht <\/a><\/li>\n<\/ul>\n<h4>Overige bronnen<\/h4>\n<ul>\n<li>PHP-handleiding &#8211; <a href=\"http:\/\/php.net\/manual\/en\/function.list.php\" target=\"_blank\" rel=\"noopener noreferrer\">list()<\/a><\/li>\n<li>PHP-handleiding &#8211; <a href=\"http:\/\/php.net\/manual\/en\/language.references.php\" target=\"_blank\" rel=\"noopener noreferrer\">References Explained<\/a><\/li>\n<li>Opdracht-operators &#8211; <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\" target=\"_blank\" rel=\"noopener noreferrer\">Assignment by Reference<\/a><\/li>\n<\/ul>\n<h2 id=\"is-countable\">is_countable functie<\/h2>\n<p>Een andere handige functie van PHP 7.3 is de functie <code>is_countable()<\/code>. Tot en me <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a>, kregen we een foutmelding wanneer we de <a href=\"http:\/\/php.net\/manual\/en\/function.count.php\" target=\"_blank\" rel=\"noopener noreferrer\">count()-functie<\/a> probeerde toe te passen op iets dat ontelbaar is. Om deze reden genoodzaakt om de volgende code toe te voegen als we een waarschuwing willen voorkomen:<\/p>\n<pre><code class=\"language-php\">if (is_array($foo) || $foo instanceof Countable) {\n    \/\/ $foo is telbaar\n}<\/code><\/pre>\n<p>Deze RFC stelt de functie <a href=\"https:\/\/wiki.php.net\/rfc\/is-countable\" target=\"_blank\" rel=\"noopener noreferrer\">is_countable()<\/a>, voor, waarbij <code>true<\/code> wordt gereturnd als de gegeven variabele een array is of als het een telbare variabele is, en in alle andere gevallen, <code>false<\/code>. De bovenstaande code kan dus als volgt worden gewijzigd:<\/p>\n<pre><code class=\"language-php\">if (is_countable($foo)) {\n    \/\/ $foo is telbaar\n}<\/code><\/pre>\n<p>Het voorstel is aangenomen met 25 stemmen voor en 0 stemmen tegen.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/is-countable\" target=\"_blank\" rel=\"noopener noreferrer\">is_countable<\/a><\/li>\n<\/ul>\n<h4>Overige bronnen<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/class.countable.php\" target=\"_blank\" rel=\"noopener noreferrer\">The Countable interface<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.count.php\" target=\"_blank\" rel=\"noopener noreferrer\">count<\/a><\/li>\n<\/ul>\n<h2 id=\"array-key-first-last\">array_key_first(), array_key_last()<\/h2>\n<p>Momenteel kunnen we de eerste en de laatste sleutel van een array ophalen met behulp van de functies <a href=\"http:\/\/php.net\/manual\/en\/function.reset.php\" target=\"_blank\" rel=\"noopener noreferrer\">reset()<\/a>, <a href=\"http:\/\/php.net\/manual\/en\/function.end.php\" target=\"_blank\" rel=\"noopener noreferrer\">end()<\/a> en <a href=\"http:\/\/php.net\/manual\/en\/function.key.php\" target=\"_blank\" rel=\"noopener noreferrer\">key()<\/a> Helaas is het bij deze functies niet mogelijk om de eerste of de laatste index van een array te verzamelen zonder de interne status te wijzigen. Andere opties verminderen meestal de leesbaarheid en prestaties van de code.<br \/>\nDit voorstel zou deze situatie veranderen door twee nieuwe functies toe te voegen aan de kern van PHP:<\/p>\n<ul>\n<li><code>array_key_first()<\/code><\/li>\n<li><code>array_key_last()<\/code><\/li>\n<\/ul>\n<p>Vanaf PHP 7.3 staan <code>array_key_first()<\/code> en <code>array_key_last()<\/code> je toe om de eerste en de laatste sleutel van een gegeven array op te halen, <strong>zonder daarbij de interne array-aanwijzer te be\u00efnvloeden<\/strong>. Met deze nieuwe functies kunnen we minder complexe code schrijven en in sommige gevallen zelfs fouten voorkomen. Raadpleeg de <a href=\"https:\/\/wiki.php.net\/rfc\/array_key_first_last\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> voor meer informatie en verschillende voorbeelden.<\/p>\n<p><code>array_key_first()<\/code> en <code>array_key_last()<\/code> zijn goedgekeurd met 18 stemmen voor en 14 stemmen tegen.<\/p>\n<p>Let op: de oorspronkelijke RFC stelde nog twee andere functies voor, <code>array_value_first()<\/code> en <code>array_value_last()<\/code>, waarvoor in een andere peiling is gestemd, maar nog niet zijn goedgekeurd en die zullen niet worden toegevoegd aan de kern van PHP.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/array_key_first_last\" target=\"_blank\" rel=\"noopener noreferrer\">array_key_first(), array_key_last()<\/a><\/li>\n<\/ul>\n<h4>Extra bronnen<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.array-key-first.php\" target=\"_blank\" rel=\"noopener noreferrer\">array_key_first<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.array-key-last.php\" target=\"_blank\" rel=\"noopener noreferrer\">array_key_last<\/a><\/li>\n<\/ul>\n<h2 id=\"argon2\">Verbeteringen aan de Argon2 wachtwoord-hash<\/h2>\n<p>Argon2 is een hash-algoritme <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\"> ge\u00efmplementeerd in PHP 7.2<\/a> als alternatief voor het Bcrypt-algoritme. PHP 7.2 introduceerde de constante <code>PASSWORD_ARGON2I<\/code> beschikbaar voor gebruik in <code>password_*<\/code>-functies:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2I);<\/code><\/pre>\n<p>Sinds zijn eerste implementatie is er een nieuwe variant van Argon2 toegevoegd, dus op het moment van schrijven is Argon2 verkrijgbaar in drie varianten:<\/p>\n<ul>\n<li><strong>Argon2d<\/strong> maximaliseert de weerstand tegen GPU-kraakaanvallen. Het is sneller en gebruikt data-afhankelijke geheugentoegang.<\/li>\n<li><strong>Argon2i<\/strong> gebruikt data-onafhankelijke geheugentoegang, wat de voorkeur heeft voor wachtwoord-hashing. Het is langzamer omdat het meer passes over het geheugen maakt om te beschermen tegen tradeoff-aanvallen.<\/li>\n<li><strong>Argon2id<\/strong> is een hybride versie die de Argon2i-benadering voor de eerste pass over het geheugen combineert met de Argon2d-benadering voor alle overige passes.<\/li>\n<\/ul>\n<p>Argon2id wordt aanbevolen op internet, behalve wanneer er goede redenen zijn om de voorkeur te geven aan een andere variant.<\/p>\n<p>De nieuwe RFC stelt de implementatie van Argon2id voor binnen de <a href=\"http:\/\/php.net\/manual\/en\/ref.password.php\" target=\"_blank\" rel=\"noopener noreferrer\">password_*<\/a>-functies met de nieuwe constante <code>PASSWORD_ARGON2ID<\/code> constant:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2ID);<\/code><\/pre>\n<p>De implementatie is identiek aan de Argon2i-implementatie en accepteert dezelfde kostenfactoren:<\/p>\n<ul>\n<li>Een <strong>memory cost<\/strong> die het aantal KiB bepaalt dat moet worden verbruikt tijdens het hashen (standaardwaarden zijn 1 &lt;&lt; 10 oftewel 1024 KiB oftewel 1 MiB)<\/li>\n<li>Een <strong>time cost<\/strong> die het aantal iteraties van het hash-algoritme definieert (standaard ingesteld op 2)<\/li>\n<li>Een <strong>parallelism factor<\/strong>, waarmee het aantal parallelle threads wordt ingesteld dat tijdens hashing wordt gebruikt (standaard ingesteld op 2)<\/li>\n<\/ul>\n<p>Kijk naar de volgende code:<\/p>\n<pre><code class=\"language-php\">$options = ['memory_cost' =&gt; 1&lt;&lt;11, 'time_cost' =&gt; 4, 'threads' =&gt; 2];\npassword_hash('wachtwoord', PASSWORD_ARGON2ID, $options);<\/code><\/pre>\n<p>Meer informatie en voorbeelden kun je vinden op de <a href=\"https:\/\/wiki.php.net\/rfc\/argon2_password_hash_enhancements\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a>.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/argon2_password_hash_enhancements\" target=\"_blank\" rel=\"noopener noreferrer\">Argon2 Password Hash Enhancements<\/a><\/li>\n<\/ul>\n<h4>Extra bronnen<\/h4>\n<ul>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Argon2\" target=\"_blank\" rel=\"noopener noreferrer\">Argon2<\/a> (Wikipedia)<\/li>\n<li><a href=\"https:\/\/www.cryptolux.org\/images\/0\/0d\/Argon2.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Argon2: the memory-hard function for password hashing and other applications<\/a> (PDF)<\/li>\n<\/ul>\n<h2 id=\"deprecations\">Deprecations<\/h2>\n<p>De volgende functies en functionaliteiten zijn verouderd met de komst van PHP 7.3, en worden in PHP 8.0 verwijderd.<\/p>\n<h3>image2wbmp()<\/h3>\n<p>De <strong>image2wbmp()<\/strong>-functie output of slaat een <a href=\"https:\/\/en.wikipedia.org\/wiki\/Wireless_Application_Protocol_Bitmap_Format\" target=\"_blank\" rel=\"noopener noreferrer\">WBMP<\/a>-versie van een bepaalde afbeelding op. Voor deze functie zijn drie argumenten nodig: een afbeeldingsresource, een bestandsnaam (het pad naar het opgeslagen bestand) en een voorgrondkleur.<br \/>\nVanaf PHP 5.0 is het identiek aan <a href=\"http:\/\/php.net\/manual\/en\/function.imagewbmp.php\" target=\"_blank\" rel=\"noopener noreferrer\">imagewbmp()<\/a>, dus deze <a href=\"https:\/\/wiki.php.net\/rfc\/image2wbmp\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> stelt voor om het te verwijderen.<br \/>\nVanaf PHP 7.3 geeft elke aanroep van <code>image2wbmp()<\/code>een waarschuwing af. Na de verwijdering zal elke oproep een fatale fout veroorzaken.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/image2wbmp\" target=\"_blank\" rel=\"noopener noreferrer\">Deprecate and Remove image2wbmp()<\/a><\/li>\n<\/ul>\n<h3>Niet-hoofdlettergevoelige constanten<\/h3>\n<p>PHP ondersteunt momenteel zowel hoofdlettergevoelige als niet-hoofdlettergevoelige constanten. Hoe dan ook, <strong> niet-hoofdlettergevoelige<\/strong> constanten worden ondersteund, maar zijn onderhevig aan inconsistenties in functies en zijn complex in gebruik.<br \/>\nDit voorstel begint met de volgende premissen:<\/p>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.oop5.constants.php\" target=\"_blank\" rel=\"noopener noreferrer\"> klasse constanten<\/a> zijn altijd hoofdlettergevoelig<\/li>\n<li>globale constanten die gedeclareerd zijn met <code>const<\/code> zijn altijd hoofdlettergevoelig<\/li>\n<li>constanten die zijn gedefinieerd met <code>define()<\/code> zijn standaad hoofdlettergevoelig<\/li>\n<\/ul>\n<p>Bovendien vermeldt de <a href=\"http:\/\/php.net\/manual\/en\/language.constants.php\" target=\"_blank\" rel=\"noopener noreferrer\">PHP Language Reference<\/a> expliciet:<\/p>\n<blockquote><p>Een constante is standaard hoofdlettergevoelig. Volgens afspraak zijn identifiers van constanten altijd in hoofdletters.<\/p><\/blockquote>\n<p>Dat gezegd hebbende, stelt deze RFC de volgende wijzigingen voor:<\/p>\n<ul>\n<li>Markeer de aanroep naar <code>define()<\/code> met als derde parameter <code>true<\/code> alse verouderd &#8211; PHP 7.3<\/li>\n<li>Markeer de toegang tot niet-hoofdlettergevoelige constanten die niet dezelfde hoofd of kleine letters hebben als de declaratie (met uitzondering van <code>true<\/code>, <code>false<\/code> en <code>null<\/code>) als verouderd &#8211; PHP 7.3<\/li>\n<li>Verwijder de mogelijkheid om niet-hoofdlettergevoelige constanten te declareren &#8211; PHP 8.0<\/li>\n<li>Verander <code>true<\/code>, <code>false<\/code> en <code>null<\/code> van speciale constanten naar gereserveerde keywords &#8211; PHP 8.0<\/li>\n<\/ul>\n<h4>PHP 7.3 RFC<\/h4>\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/case_insensitive_constant_deprecation\" target=\"_blank\" rel=\"noopener noreferrer\">Deprecate and Remove Case-Insensitive Constants<\/a>.<\/p>\n<h3>Aanvullende deprecations van PHP 7.3<\/h3>\n<p>Hier is een korte lijst van functionaliteiten die verouderd zijn in PHP 7.3. Het is niet uitputtend, het zijn slechts de afkeuringsvoorstellen die ik persoonlijk relevant vind. Zie <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3\" target=\"_blank\" rel=\"noopener noreferrer\">Deprecations for PHP 7.3<\/a> voor een volledige lijst met voorgestelde deprecations.<\/p>\n<p><strong>Niet-gedocumenteerde mbstring-functiealiassen: <\/strong> er is een aantal niet-gedocumenteerde <a href=\"http:\/\/php.net\/manual\/en\/book.mbstring.php\" target=\"_blank\" rel=\"noopener noreferrer\">mbstring<\/a> -functiealiassen die kopie\u00ebn zijn van equivalente functies die de <code>mb_<\/code>-prefix gebruiken. Bijvoorbeeld, <code>mbereg<\/code> is een alias van <code>mb_ereg<\/code>.<br \/>\nAl deze functies zullen worden gemarkeerd als verouderd en een afkeuringskennisgeving zal worden gegenereerd wanneer ze tijdens het compilen worden aangetroffen.<\/p>\n<p><strong>String-zoekfuncties met een integer-needle<\/strong>: deze functies werken meestal op string-needles. Als een needle zonder needle wordt gegeven, wordt deze omgezet in een geheel getal en toegepast als de ordinale waarde van een teken (lees meer in de <a href=\"http:\/\/php.net\/manual\/en\/function.strpos.php\" target=\"_blank\" rel=\"noopener noreferrer\">PHP-handleiding<\/a>). Hier is <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#string_search_functions_with_integer_needle\" target=\"_blank\" rel=\"noopener noreferrer\">een voorbeeld uit de RFC<\/a>:<\/p>\n<pre><code class=\"language-php\">$str = \"Er zijn 10 appels\";\nvar_dump(strpos($str, \"10\")); \/\/ int(10)\nvar_dump(strpos($str, 10));   \/\/ bool(false)<\/code><\/pre>\n<p>Dit wordt als verwarrend beschouwd en veroorzaakt onvoorspelbare problemen, omdat het type kan veranderen met de gegevensbron van de gebruiker. Om deze reden stelt de RFC voor om een verouderingswaarschuwing af te geven als een niet-string-needle wordt doorgegeven aan een van de volgende functies:<\/p>\n<ul>\n<li><code>strpos<\/code><\/li>\n<li><code>strrpos<\/code><\/li>\n<li><code>stripos<\/code><\/li>\n<li><code>strripos<\/code><\/li>\n<li><code>strstr<\/code><\/li>\n<li><code>strchr<\/code><\/li>\n<li><code>strrchr<\/code><\/li>\n<li><code>stristr<\/code><\/li>\n<\/ul>\n<p>In PHP 8.0 moet de verouderingswaarschuwing worden verwijderd en de needles automatisch worden omgezet in strings. <\/p>\n<p><strong><code>fgetss()<\/code>-functie en de <code>string.strip_tags<\/code> stream-filter<\/strong>: <code>fgetss()<\/code> en <code>string.strip_tags<\/code> verwijderen tags van een stream terwijl ze hem lezen. Zowel de functie als het filter stellen de functie <a href=\"http:\/\/php.net\/manual\/en\/function.strip-tags.php\" target=\"_blank\" rel=\"noopener noreferrer\">strip_tags()<\/a> bloot, waardoor de implementatie van <code>strip_tags()<\/code> ingewikkelder wordt, omdat een machine met streamingstatus vereist is. Bovendien wijst de RFC op een <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#fgetss_function_and_stringstrip_tags_filter\" target=\"_blank\" rel=\"noopener noreferrer\"> ander nadeel<\/a> van deze functies:<\/p>\n<blockquote><p>Aan de andere kant lijken deze functies van weinig nut te zijn. <code>strip_tags()<\/code> zelf heeft, vanwege zijn beperkingen en bekende bugs, al heel weinig legitieme applicaties. Het is niet nodig om native ondersteuning voor streaming-applicaties te bieden.<\/p><\/blockquote>\n<p>Daarom stelt de RFC voor om <code>fgetss()<\/code>, <code>gzgetss()<\/code> en <code>SplFileObject::fgetss()<\/code> als verouderd te markeren.<\/p>\n<h2>Wat betekent PHP 7.3 voor WordPress-gebruikers?<\/h2>\n<p>Volgens de offici\u00eble\u00a0<a href=\"https:\/\/wordpress.org\/about\/stats\/\" target=\"_blank\" rel=\"noopener noreferrer\"> WordPress-statisiekenpagina<\/a>, is op het moment van schrijven slechts 32,9% van de WordPress-gebruikers ge\u00fcpgraded naar PHP 7 of hoger. Slechts 4% gebruikt\u00a0<a href=\"https:\/\/kinsta.com\/nl\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a>. Je ziet dat een grote meerderheid van gebruikers, meer dan 38%, nog steeds op PHP 5.6 draait. Nog schrijnender is dat meer dan 28,5% van de gebruikers niet-ondersteunde PHP-versies gebruikt. Vanaf december 2016 heeft WordPress.org hun\u00a0<a href=\"https:\/\/wordpress.org\/about\/requirements\/\" target=\"_blank\" rel=\"noopener noreferrer\">offici\u00eble aanbeveling<\/a>\u00a0voor gebruikers verhoogd van PHP 5.6 naar PHP 7 of hoger.<\/p>\n<figure id=\"attachment_31275\" aria-describedby=\"caption-attachment-31275\" style=\"width: 1404px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-31275 size-full\" src=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/08\/php-versies-op-wordpress.png\" alt=\"PHP-versies op WordPress\" width=\"1404\" height=\"1054\"><figcaption id=\"caption-attachment-31275\" class=\"wp-caption-text\">PHP-versies op WordPress<\/figcaption><\/figure>\n<h3>PHP 7 prestaties<\/h3>\n<p>De bovenstaande cijfers zijn vooral ontmoedigend vanuit het oogpunt van prestaties, omdat PHP 7 aanzienlijk sneller is gebleken. Hier zijn een paar statistieken:<\/p>\n<ul>\n<li>Offici\u00eble PHP-benchmarks \u00a0tonen aan dat PHP 7 het systeem in staat stelt om tweemaal zoveel verzoeken per seconde uit te voeren in vergelijking met de PHP 5.6, met bijna de helft van de latency.<\/li>\n<li>Christian Vigh publiceerde ook een\u00a0<a href=\"https:\/\/www.phpclasses.org\/blog\/post\/493-php-performance-evolution.html\" target=\"_blank\" rel=\"noopener noreferrer\">PHP-prestatievergelijking <\/a>\u00a0waarin hij ontdekte dat PHP 5.2 400% langzamer was dan PHP 7.<\/li>\n<\/ul>\n<p>We voerden onze eigen <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-benchmarks\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP-prestatiebenchmarks<\/a> uit. Net als bovenstaande benchmarks zagen we dat WordPress 5.0 op PHP 7.3 drie keer zoveel transacties (requests) per seconde aankon dan PHP 5.6.<\/p>\n<figure id=\"attachment_22351\" aria-describedby=\"caption-attachment-22351\" style=\"width: 940px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22351\" src=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-5.0-php-benchmarks-.png\" alt=\"WordPress 5.0 PHP-benchmarks\" width=\"940\" height=\"788\" srcset=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-5.0-php-benchmarks-.png 940w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-5.0-php-benchmarks--300x251.png 300w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-5.0-php-benchmarks--768x644.png 768w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-5.0-php-benchmarks--610x511.png 610w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><figcaption id=\"caption-attachment-22351\" class=\"wp-caption-text\">WordPress 5.0 PHP-benchmarks<\/figcaption><\/figure>\n<ul>\n<li>WordPress 5.0 PHP 5.6 benchmark: 91.64 req\/sec<\/li>\n<li>WordPress 5.0 PHP 7.0 benchmarkresultaten: 206.71 req\/sec<\/li>\n<li>WordPress 5.0 PHP 7.1 benchmarkresultaten: 210.98 req\/sec<\/li>\n<li>WordPress 5.0 PHP 7.2 benchmarkresultaten: 229.18 req\/sec<\/li>\n<li>WordPress\u00a05.0\u00a0<strong>PHP 7.3 benchmarkresultaten: 253.20 req\/sec \ud83c\udfc6<\/strong><\/li>\n<\/ul>\n<p>Een ander interessant gegeven is dat PHP 7.3 iets sneller was op WordPress 4.9.8 dan op WordPress 5.0.<\/p>\n<figure id=\"attachment_22352\" aria-describedby=\"caption-attachment-22352\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22352\" src=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-4.9.8-php-benchmarks-.png\" alt=\"WordPress 4.9.8 PHP-benchmarks\" width=\"768\" height=\"644\" srcset=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-4.9.8-php-benchmarks-.png 768w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-4.9.8-php-benchmarks--300x252.png 300w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/wordpress-4.9.8-php-benchmarks--610x512.png 610w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption id=\"caption-attachment-22352\" class=\"wp-caption-text\">WordPress 4.9.8 PHP-benchmarks<\/figcaption><\/figure>\n<ul>\n<li>WordPress 4.9.8 PHP 5.6 benchmark: 97.59 req\/sec<\/li>\n<li>WordPress 4.9.8 PHP 7.0 benchmarkresultaten: 221.42 req\/sec<\/li>\n<li>WordPress 4.9.8 PHP 7.1 benchmarkresultaten: 233.78 req\/sec<\/li>\n<li>WordPress 4.9.8 PHP 7.2 benchmarkresultaten: 250.36 req\/sec<\/li>\n<li>WordPress\u00a04.9.8\u00a0<strong>PHP 7.3 benchmarkresultaten: 276.31 req\/sec\u00a0<\/strong>\ud83c\udfc6<\/li>\n<\/ul>\n<p>In veel gevallen valt het traag bijwerken van PHP te wijten aan het moeten testen van de compatibiliteit met externe plugins en thema&#8217;s, zodat deze goed blijven functioneren. \u00a0Echter, in veel gevallen is het simpelweg een kwestie van er nog niet aan toegekomen zijn.<\/p>\n<h3>Checken welke PHP-versie jij hebt<\/h3>\n<p>Weet je niet zeker welke PHP-versie jij gebruikt? Het makkelijkste is om hiervoor een tool als<a href=\"https:\/\/kinsta.com\/nl\/blog\/pingdom-speed-test\/\" target=\"_blank\" rel=\"noopener noreferrer\"> Pingdom<\/a> of\u00a0Google Chrome Devtools te gebruiken. De eerste HTTP-requestheader laat je normaal gesproken de PHP-versie zien.<\/p>\n<figure id=\"attachment_13685\" aria-describedby=\"caption-attachment-13685\" style=\"width: 1679px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-13685 size-full\" src=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2017\/10\/versie-van-php-controleren.png\" alt=\"Versie van PHP controleren\" width=\"1679\" height=\"644\"><figcaption id=\"caption-attachment-13685\" class=\"wp-caption-text\">Versie van PHP controleren<\/figcaption><\/figure>\n<p>Hierbij is het wel belangrijk dat de host geen wijzigingen heeft aangebracht in de waardes van de header <code>X-Powered-By<\/code>. Als dit wel het geval is, dan bestaat de kans dat je de PHP-versie niet te zien krijgt. In dat geval kan je een gratis plugin installeren, zoals <a href=\"https:\/\/wordpress.org\/plugins\/version-info\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version Info<\/a>, die je de belangrijkste serverinformatie laat zien in de footer van je WordPress-beheerdersdashboard.<\/p>\n<figure id=\"attachment_22353\" aria-describedby=\"caption-attachment-22353\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22353\" src=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-versie-controleren-wordpress-.png\" alt=\"PHP-versie controleren in WordPress\" width=\"768\" height=\"410\" srcset=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-versie-controleren-wordpress-.png 768w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-versie-controleren-wordpress--300x160.png 300w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-versie-controleren-wordpress--610x326.png 610w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption id=\"caption-attachment-22353\" class=\"wp-caption-text\">PHP-versie controleren in WordPress<\/figcaption><\/figure>\n<p>Een alternatieve oplossing om de PHP-versie te zien,<a href=\"https:\/\/kinsta.com\/nl\/blog\/php-versies\/\" target=\"_blank\" rel=\"noopener noreferrer\"> is om een bestand te uploaden via FTP <\/a>of om simpelweg je host te vragen.<\/p>\n<h3>Updaten naar\u00a0PHP 7.3<\/h3>\n<p>De definitieve versie van PHP 7.3 is nog niet gereleased, maar als het eenmaal zover is kun je beginnen met testen met de pre-releaseversie. Je kunt je\u00a0<a href=\"https:\/\/kinsta.com\/nl\/blog\/lokale-wordpress-installatie\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress-site lokaal testen <\/a>\u00a0of je scripts controleren in een omgeving zoals\u00a0<a href=\"https:\/\/docs.docker.com\/get-started\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker<\/a>, waarmee je verschillende versies van PHP kunt testen vanaf de command line.<\/p>\n<p>Of je kunt een testomgeving gebruiken, omdat deze meer op een live-productiesite lijkt. Maak een\u00a0<a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/testomgeving\/\" target=\"_blank\" rel=\"noopener noreferrer\">testomgeving <\/a>\u00a0aan met een paar eenvoudige klikken in het MyKinsta-dashboard.<\/p>\n<figure id=\"attachment_34566\" aria-describedby=\"caption-attachment-34566\" style=\"width: 1670px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-34566 size-full\" src=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/10\/wordpress-staging-omgeving.png\" alt=\"WordPress staging-omgeving\" width=\"1670\" height=\"735\"><figcaption id=\"caption-attachment-34566\" class=\"wp-caption-text\">WordPress staging-omgeving<\/figcaption><\/figure>\n<p>We raden aan om altijd grondig te testen voordat je de nieuwe versie inzet op een live-website. Om dit te doen, hoef je alleen maar de PHP-engine van de site in de testomgeving te veranderen &#8211; onder &#8216;Tools&#8217; &#8211; waarna je de compatibiliteit van de PHP-versie met externe plugins en thema&#8217;s kan testen.<\/p>\n<figure id=\"attachment_22354\" aria-describedby=\"caption-attachment-22354\" style=\"width: 768px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-22354\" src=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/veranderen-naar-php-7.3-.png\" alt=\"Veranderen naar PHP 7.3\" width=\"768\" height=\"436\" srcset=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/veranderen-naar-php-7.3-.png 768w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/veranderen-naar-php-7.3--300x170.png 300w, https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/veranderen-naar-php-7.3--610x346.png 610w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption id=\"caption-attachment-22354\" class=\"wp-caption-text\">Veranderen naar PHP 7.3<\/figcaption><\/figure>\n<p>Zodra je zeker weet dat alles werkt, kan je de PHP-versie van je live-website wijzigen naar 7.3 of, als je wijzigingen hebt aangebracht in de testomgeving, deze van de <a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/testomgeving\/#push-staging-to-live-1\" target=\"_blank\" rel=\"noopener noreferrer\">testomgeving naar de live-omgeving pushen<\/a>.<\/p>\n<h2>Samenvatting<\/h2>\n<p>De nieuwste en beste PHP-versie is uitgebracht.\u00a0Het geeft ons cadeautjes zoals flexibele heredocs en nowdocs, trailing commas in functie-aanroepen, <code>list()<\/code>-referentie-opdrachten en meer. In deze post hebben we een overzicht gegeven van onze favoriete verbeteringen en wijzigingen, maar we willen ook graag weten wat jouw favoriete verbeteringen zijn, en op welke manieren je hiervan kunt profiteren. Laat het ons weten in een reactie hieronder.<\/p>\n\n<p>Je vindt de volledige lijst met PHP 7.3-voorstellen op de pagina <a href=\"https:\/\/wiki.php.net\/rfc#php_73\" target=\"_blank\" rel=\"noopener noreferrer\">RFC-pagina<\/a> en GitHub&#8217;s <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.3 Upgrade Notes<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Op 6 december werd PHP 7.3 vrijgegeven, de meest recente en beste versie van PHP! De nieuwe versie levert nieuwe handige features, functionaliteiten, afschrijvingen, een flink &#8230;<\/p>\n","protected":false},"author":36,"featured_media":20343,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[32,29],"topic":[867],"class_list":["post-20332","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-php","tag-webdev","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>Wat is er nieuw in PHP 7.3? - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!\" \/>\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-7-3\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wat is er nieuw in PHP 7.3?\" \/>\n<meta property=\"og:description\" content=\"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/\" \/>\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=\"2018-11-05T03:08:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-22T12:20:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Carlo Daniele\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png\" \/>\n<meta name=\"twitter:creator\" content=\"@carlodaniele\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Daniele\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 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-7-3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"Wat is er nieuw in PHP 7.3?\",\"datePublished\":\"2018-11-05T03:08:27+00:00\",\"dateModified\":\"2023-05-22T12:20:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/\"},\"wordCount\":3417,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png\",\"keywords\":[\"php\",\"webdev\"],\"articleSection\":[\"WordPress ontwikkeling\"],\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/\",\"name\":\"Wat is er nieuw in PHP 7.3? - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png\",\"datePublished\":\"2018-11-05T03:08:27+00:00\",\"dateModified\":\"2023-05-22T12:20:28+00:00\",\"description\":\"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png\",\"width\":1460,\"height\":730,\"caption\":\"PHP 7.3\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#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\":\"Wat is er nieuw in PHP 7.3?\"}]},{\"@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\/962dde02ea6f5df089b5d8d0853bbc63\",\"name\":\"Carlo Daniele\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"caption\":\"Carlo Daniele\"},\"description\":\"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.\",\"sameAs\":[\"https:\/\/frammentidicodice.com\/\",\"https:\/\/x.com\/carlodaniele\"],\"url\":\"https:\/\/kinsta.com\/nl\/blog\/author\/carlodaniele\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Wat is er nieuw in PHP 7.3? - Kinsta\u00ae","description":"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!","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-7-3\/","og_locale":"nl_NL","og_type":"article","og_title":"Wat is er nieuw in PHP 7.3?","og_description":"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!","og_url":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2018-11-05T03:08:27+00:00","article_modified_time":"2023-05-22T12:20:28+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png","twitter_creator":"@carlodaniele","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Carlo Daniele","Geschatte leestijd":"18 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"Wat is er nieuw in PHP 7.3?","datePublished":"2018-11-05T03:08:27+00:00","dateModified":"2023-05-22T12:20:28+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/"},"wordCount":3417,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png","keywords":["php","webdev"],"articleSection":["WordPress ontwikkeling"],"inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/","url":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/","name":"Wat is er nieuw in PHP 7.3? - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png","datePublished":"2018-11-05T03:08:27+00:00","dateModified":"2023-05-22T12:20:28+00:00","description":"PHP 7.3 is hier en komt met nieuwe functionaliteiten en een flink aantal bugfixes. Lees in dit gedetailleerde overzicht alles over PHP 7.3!","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/php-7-3\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2018\/11\/php-7-3.png","width":1460,"height":730,"caption":"PHP 7.3"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/php-7-3\/#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":"Wat is er nieuw in PHP 7.3?"}]},{"@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\/962dde02ea6f5df089b5d8d0853bbc63","name":"Carlo Daniele","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","caption":"Carlo Daniele"},"description":"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.","sameAs":["https:\/\/frammentidicodice.com\/","https:\/\/x.com\/carlodaniele"],"url":"https:\/\/kinsta.com\/nl\/blog\/author\/carlodaniele\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/20332","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\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=20332"}],"version-history":[{"count":15,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/20332\/revisions"}],"predecessor-version":[{"id":49376,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/20332\/revisions\/49376"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/en"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/es"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/it"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/fr"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/se"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/pt"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/jp"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/translations\/dk"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/20332\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/20343"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=20332"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=20332"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=20332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}