{"id":29605,"date":"2018-11-02T02:59:09","date_gmt":"2018-11-02T01:59:09","guid":{"rendered":"https:\/\/kinsta.com\/?p=31095"},"modified":"2023-08-28T07:15:42","modified_gmt":"2023-08-28T06:15:42","slug":"php-7-3","status":"publish","type":"post","link":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/","title":{"rendered":"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta)"},"content":{"rendered":"<p>Fra den 6. december 2018 er den seneste og st\u00f8rste version, PHP 7.3, her! Med det kommer nye nyttige funktioner, funktionaliteter, deprecations, et stort antal fejlrettelser og et boost i ydeevne. <strong>PHP 7.3 er ogs\u00e5 nu tilg\u00e6ngelig for alle Kinsta-klienter<\/strong> i <a href=\"https:\/\/my.kinsta.com\/sites\/tools\/%25C2%25A8?lang=da\">MyKinsta dashboard<\/a>. \ud83e\udd18<\/p>\n<p><strong>Opdatering:<\/strong> <a href=\"https:\/\/kinsta.com\/dk\/changelog\/php-8-1\/\">PHP 8.1 (officiel udgivelse)<\/a> er nu tilg\u00e6ngelig for alle Kinsta-klienter. PHP 7.3 underst\u00f8ttes ikke l\u00e6ngere hos Kinsta. Bem\u00e6rk venligst, at vi underst\u00f8tter PHP-versioner 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 og 8.5.<\/p>\n<p>I dette indl\u00e6g giver vi et overblik over de funktioner og \u00e6ndringer, som vi personligt anser som mest relevante. Men du kan altid kontrollere den fulde liste over funktioner, \u00e6ndringer og fejlrettelser i PHP 7.3 <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING\" target=\"_blank\" rel=\"noopener noreferrer\">Opgrader noter<\/a> og <a href=\"https:\/\/wiki.php.net\/rfc#php_73\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.3 Anmodninger om kommentarer<\/a>.<\/p>\n<p><strong>Opdatering<\/strong>: <a href=\"https:\/\/kinsta.com\/dk\/changelog\/php-7-4\/\">PHP 7.4 (officiel udgivelse)<\/a> er nu tilg\u00e6ngelig for alle Kinsta-klienter.<\/p>\n\n<h2>Hvad er Nyt i PHP med PHP 7.3?<\/h2>\n<p>I dette indl\u00e6g d\u00e6kker vi f\u00f8lgende PHP 7,3 \u00e6ndringer:<\/p>\n<ul>\n<li><a href=\"#flexible-heredoc-nowdoc\">Implementeret Fleksibel Heredoc Og Nowdoc Syntakser<\/a><\/li>\n<li><a href=\"#trailing-comma-in-function-calls\">Tillad et tilbagekommende kommando i funktionsopkald<\/a><\/li>\n<li><a href=\"#JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/a><\/li>\n<li><a href=\"#list\">list() Reference Assignment<\/a><\/li>\n<li><a href=\"#is-countable\">is_countable Function<\/a><\/li>\n<li><a href=\"#array-key-first-last\">array_key_first(), array_key_last()<\/a><\/li>\n<li><a href=\"#argon2\">Argon2 Password Hash Enhancements<\/a><\/li>\n<li><a href=\"#deprecations\">Deprecations<\/a><\/li>\n<\/ul>\n<h2 id=\"flexible-heredoc-nowdoc\">Fleksible Heredoc og Nowdoc Syntakser<\/h2>\n<p>Dette er nok en af de mest relevante forbedringer, der kommer med PHP 7.3, og vi synes det fortjener lidt mere opm\u00e6rksomhed. S\u00e5 f\u00f8r vi dyker ind i PHP 7.3 heredoc\/nudoc \u00e6ndringer, giver vi et hurtigt overblik over denne nyttige kernefunktion. Hvis du allerede er sikker p\u00e5 nudoc og heredoc, er du velkommen til at hoppe til PHP 7.3-\u00e6ndringerne.<\/p>\n<ul>\n<li><a href=\"#heredoc-nowdoc-overview\">Et overblik over heredok og nudoc syntakser<\/a><\/li>\n<li><a href=\"#heredoc-nowdoc-indentation\">PHP 7.3: Tillad, at den afsluttende mark\u00f8r er indrykket, og at den f\u00f8rende hvide plads skal fjernes<\/a><\/li>\n<li><a href=\"#heredoc-nowdoc-closing-marker\">PHP 7.3: Fjern det efterf\u00f8lgende nye linjekrav fra lukkemark\u00f8ren<\/a><\/li>\n<\/ul>\n<h3 id=\"heredoc-nowdoc-overview\">Et overblik over heredok og nudoc syntakser<\/h3>\n<p><strong>Heredok-syntaxen giver mulighed for at tilf\u00f8je en stor m\u00e6ngde tekst uden at skulle undslippe ting som dobbelt citater<\/strong>. En heredok starter med <code>&lt;&lt;&lt;<\/code> efterfulgt af en mark\u00f8r, og slutter med samme mark\u00f8r efterfulgt af en semikolon. Her er et eksempel:<\/p>\n<pre><code class=\"language-php\">udskriv &lt;&lt;&lt;EOT\nHeredoc-teksten opf\u00f8rer sig som en dobbeltciteret streng uden de dobbelte citater.\nEOT;<\/code><\/pre>\n<p>En nudoc opf\u00f8rer sig meget som en heredoc, med nogle undtagelser<\/p>\n<ul>\n<li>Identifikatoren er indeholdt i enkelte citater<br \/>\n(<code>&lt;&lt;&lt;'EOT'<\/code>)<\/li>\n<li>Ingen passering sker inden for en nowdoc<\/li>\n<\/ul>\n<p>Her er et eksempel p\u00e5 nowdoc<\/p>\n<pre><code class=\"language-php\">print &lt;&lt;&lt;'EOT'\nNowdocs are to single-quoted strings what heredocs are to double-quoted strings.\nEOT;<\/code><\/pre>\n<p>Heredocs og nowdocs deler de samme regler som regulerer brugen af lukkem\u00e6rket:<\/p>\n<ol>\n<li>Lukmark\u00f8ren skal begynde i linjens f\u00f8rste kolonne<\/li>\n<li>Mark\u00f8ren skal f\u00f8lge de samme navngivningsregler som enhver anden etiket i PHP: den m\u00e5 kun indeholde alfanumeriske tegn og understregninger og skal starte med et ikke-ciffert tegn eller understregning.<\/li>\n<\/ol>\n<p><a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.heredoc\" target=\"_blank\" rel=\"noopener noreferrer\">PHP Manual<\/a> advarer:<\/p>\n<blockquote><p>Det er meget vigtigt at bem\u00e6rke, at linjen med den afsluttende identifikator ikke m\u00e5 indeholde andre tegn, undtagen et semikolon(;). Det betyder is\u00e6r, at identifikatoren<em>m\u00e5ske ikke er indrykket<\/em>, der m\u00e5 ikke v\u00e6re nogen mellemrum eller faner f\u00f8r eller efter semikolonet. Det er ogs\u00e5 vigtigt at indse, at det f\u00f8rste tegn f\u00f8r den afsluttende identifikator skal v\u00e6re en ny linje som defineret af det lokale operativsystem. Dette er <code>\\n<\/code> p\u00e5 UNIX-systemer, herunder macOS. Den afsluttende delimiter skal ogs\u00e5 efterf\u00f8lges af en ny linje.<\/p><\/blockquote>\n<p><strong>PHP 7.2 ugyldig syntaks:<\/strong><\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\n    bar\n    EOT;\n}\n\/\/ Identifier must not be indented<\/code><\/pre>\n<p><strong>PHP 7.2 gyldig syntaks:<\/strong><\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\nbar\nEOT;\n}<\/code><\/pre>\n<p>For at holde det kort, i PHP 7.2:<\/p>\n<ul>\n<li>Den afsluttende mark\u00f8r m\u00e5 ikke v\u00e6re indrykket<\/li>\n<li>Linjen med lukkemark\u00f8ren m\u00e5 ikke indeholde tegn som mellemrum eller faner<\/li>\n<li>Det f\u00f8rste tegn f\u00f8r lukkem\u00e6rket skal v\u00e6re en ny linje<\/li>\n<li>Afslutningsmark\u00f8ren skal efterf\u00f8lges af en ny linje<\/li>\n<\/ul>\n<p>Det er klart nok, at heredok og nudoc-syntaks er ret restriktive, men PHP 7.3 kan \u00e6ndre dette lidt med f\u00f8lgende forbedringer.<\/p>\n<h3 id=\"heredoc-nowdoc-indentation\">1. Tillad, at den afsluttende mark\u00f8r er indrykket, og at den ledende hvide plads skal fjernes<\/h3>\n<p><strong>Med PHP 7,3 har vi lov til at indrykke lukkemark\u00f8ren<\/strong>, og vi kan trygt skrive f\u00f8lgende kode:<\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\n        bar\n    EOT;\n}<\/code><\/pre>\n<p>Indtastningen af den lukkende mark\u00f8r angiver m\u00e6ngden af hvide rum (eller faner), som vil blive fjernet fra hver linje af kroppen. Men pas p\u00e5: <strong>Den afsluttende mark\u00f8r skal aldrig v\u00e6re indrykket l\u00e6ngere end nogen anden linje i kroppen.<\/strong><\/p>\n<p>Se koden nedenfor:<\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\n    bar\n        EOT;\n}<\/code><\/pre>\n<p>Koden ovenfor ville udstede f\u00f8lgende parse fejl:<\/p>\n<pre>Parse-fejl: Ugyldigt organindrykningsniveau (forventer en indrykning i det mindste ...) i%s p\u00e5 linje%d<\/pre>\n<p>Stripping faner og whitespaces tillader os at inddrage heredoc \/ nudocs kropp til det samme niveau af koden rundt, og uden un\u00f8dvendig hvide plads f\u00f8r hver linje af kroppen.<\/p>\n<p>Vi kan bruge b\u00e5de faner og mellemrum til indrykning, men vi m\u00e5 ikke bruge dem sammenblandet. Det betyder, at<strong>vi skal bruge de samme indrykningskarakterer til lukkemark\u00f8ren og alle linjer i kroppen<\/strong>. I tilf\u00e6lde af forskellige indrykningskarakterer forventer vi en anden type parsefejl (ugyldig indrykning).<\/p>\n<h3 id=\"heredoc-nowdoc-closing-marker\">2. Fjern det efterf\u00f8lgende nye linjeskrav fra lukkemark\u00f8ren<\/h3>\n<p>I \u00f8jeblikket skal en ny linje f\u00f8lge mark\u00f8ren for at opsige heredok \/ nudoc. PHP 7.3 ville \u00e6ndre dette og tillade os at opsige heredoc \/ nudoc p\u00e5 samme linje. Her er et eksempel fra RFC<\/p>\n<p><strong>PHP 7.2 gyldig syntaks:<\/strong><\/p>\n<pre><code class=\"language-php\">$values = [&lt;&lt;&lt;END\na\nb\nc\nEND\n, 'd e f'];<\/code><\/pre>\n<p><strong>PHP 7.3 gyldig syntaks:<\/strong><\/p>\n<pre><code class=\"language-php\">$values = [&lt;&lt;&lt;END\na\nb\nc\nEND, 'd e f'];<\/code><\/pre>\n<p>Du skal alligevel v\u00e6re forsigtig, n\u00e5r du v\u00e6lger navnet p\u00e5 din mark\u00f8r, fordi &#8220;lejlighedsvis&#8221; kan du forvente en fejl, hvis den passer til et ord, du brugte i heredoc \/ nudoc&#8217;s legeme (l\u00e6s mere her p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> og <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>Begge forslag bestod med mere end 2\/3 stemmer<\/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\">Fleksible Heredoc og Nowdoc Syntaxer<\/a><\/li>\n<\/ul>\n<h4>Yderligere ressourcer<\/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 streng syntaks<\/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-strengsyntaks<\/a><\/li>\n<\/ul>\n<h2 id=\"trailing-comma-in-function-calls\">Tillad et Kommende Komma i Funktionsopkald<\/h2>\n<p>Kommende kommaer (eller &#8220;endelige kommaer&#8221;) er kommaer til en liste over elementer, parametre eller egenskaber, og de er nyttige i sammenh\u00e6nge, \u200b\u200bhvor nye v\u00e6rdier tilf\u00f8jes ofte, fordi de forhindrer fejl p\u00e5 grund af et manglende komma. I PHP er kommende kommaer tilladt i arrayer, og fra\u00a0<a href=\"https:\/\/kinsta.com\/dk\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a> er de tilladt i grupperede navneomr\u00e5der.<\/p>\n<p>Fra PHP 7.3 vil efterf\u00f8lgende komma v\u00e6re tilladt i funktionserkl\u00e6ringer. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Variadic_function\" target=\"_blank\" rel=\"noopener noreferrer\">Variadiske funktioner<\/a> giver et eksempel p\u00e5 kontekst, hvor efterf\u00f8lgende komma er yderst nyttige:<\/p>\n<pre><code class=\"language-php\">foo(\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Vi kan bruge et kommende komma, n\u00e5r vi opretter en matrix med <code>compact()<\/code>, for at returnere en formateret streng med <code>sprintf()<\/code>, eller n\u00e5r vi fusionerer en matrix:<\/p>\n<pre><code class=\"language-php\">$newArray = array_merge(\n    $arrayOne,\n    $arrayTwo,\n    ['foo', 'bar'],\n);<\/code><\/pre>\n<p>Ogs\u00e5 kommende kommaer ville v\u00e6re nyttige til debugging:<\/p>\n<pre><code class=\"language-php\">var_dump(\n    $foo,\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Og de er st\u00e6rke med <code>unset()<\/code> og <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>Trailing kommaer vil ogs\u00e5 blive tilladt i metodeopkald og indkapslinger.<\/p>\n<p>Bem\u00e6rk: <strong>Denne \u00e6ndring vil kun p\u00e5virke funktionsopkald. Syntaks for funktionsdeklaration \u00e6ndres ikke.<\/strong> Desuden vil frie komma, flere kommende kommaer og ledende kommaer ikke blive tilladt.<\/p>\n<p>Yderligere eksempler findes p\u00e5\u00a0<a href=\"https:\/\/wiki.php.net\/rfc\/trailing-comma-function-calls\" target=\"_blank\" rel=\"noopener noreferrer\">RFC-siden<\/a>. Denne RFC bestod med en 30 til 10 stemme.<br \/>\nPHP 7.3 RFC<\/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\">Flexible Heredoc and Nowdoc Syntaxes<\/a><\/li>\n<\/ul>\n<h2 id=\"JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/h2>\n<p>En af de mest v\u00e6rdsatte funktioner, der kommer med PHP 7.3, giver en ny m\u00e5de at h\u00e5ndtere JSON fejl p\u00e5. Dette er ikke en kernefunktion, men en tilf\u00f8jelse til JSON-udvidelsen, der ville \u00e6ndre fejladf\u00e6rden af <a href=\"http:\/\/www.php.net\/json_decode\" target=\"_blank\" rel=\"noopener noreferrer\">json_decode()<\/a> og <a href=\"http:\/\/www.php.net\/json_encode\" target=\"_blank\" rel=\"noopener noreferrer\">json_encode()<\/a>.<\/p>\n<p>I \u00f8jeblikket returnerer <code>json_decode()<\/code> <code>null<\/code> ved fejl, men <code>null<\/code> kan ogs\u00e5 v\u00e6re et gyldigt resultat. Dette kunne v\u00e6re forvirrende, fordi<\/p>\n<blockquote><p>Det er kun muligt at vide, om der opstod en fejl ved at kalde <code>json_last_error()<\/code> eller <code>json_last_error_msg()<\/code>, som returnerer den globale fejltilstand i henholdsvis maskinl\u00e6sbare og humanl\u00e6sbare formularer. &#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> returnerer <code>FALSE<\/code> ved fejl. Dette er tydeligere, fordi der er en specifik fejlv\u00e6rdi. I begge tilf\u00e6lde stopper <strong>begge funktioner hverken programk\u00f8rsel p\u00e5 fejl eller kaster nogen advarsel<\/strong>.<\/p>\n<p>Med det sagt er her forslaget til PHP 7.3:<\/p>\n<blockquote><p>Denne RFC foresl\u00e5r i stedet at tilf\u00f8je en ny valgflagsv\u00e6rdi for <code>json_decode()<\/code> og <code>json_encode()<\/code>, <code>JSON_THROW_ON_ERROR<\/code>. <code>JsonException<\/code>. N\u00e5r dette flag er passeret, \u00e6ndres fejladf\u00e6rden af disse funktioner. Den globale fejltilstand forbliver uber\u00f8rt, og hvis der opst\u00e5r en fejl, der ellers ville s\u00e6tte den, vil disse i stedet kaste en JsonException med meddelelsen og kodeindstillingen til hvad <code>json_last_error()<\/code> og <code>json_last_error_msg()<\/code> ellers ville v\u00e6re.<\/p><\/blockquote>\n<p>Her er et eksempel, der viser en simpel m\u00e5de at smide en JSON-fejl p\u00e5:<\/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(); \/\/ echoes \"Syntax error\"\n}<\/code><\/pre>\n<p>At kaste en undtagelse ved fejl ville give flere fordele, som du vil finde opf\u00f8rt p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a>.<\/p>\n<p>Bem\u00e6rk: En ugyldig dybdeparameter, der sendes til <code>json_decode()<\/code> udsender en advarsel og returnerer <code>NULL<\/code>. Denne opf\u00f8rsel p\u00e5virkes ikke af <code>JSON_THROW_ON_ERROR<\/code>. P\u00e5 samme m\u00e5de p\u00e5virkes ikke parametreringsfejl af <code>JSON_THROW_ON_ERROR<\/code> og forts\u00e6tter med at producere advarsler.<\/p>\n<p>Dette forslag bestod med 23 til 0 stemmer.<\/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>Yderligere ressourcer<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/book.json.php\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript objekt notation<\/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 sprog undtagelser<\/a><\/li>\n<\/ul>\n<h2 id=\"list\">list() Reference Assignment<\/h2>\n<h3>Hvad betyder referenceopgave?<\/h3>\n<p>Overvej f\u00f8lgende linje:<\/p>\n<pre><code class=\"language-php\">$b = &$a;<\/code><\/pre>\n<p>Her f\u00e5r <code>$b<\/code> v\u00e6rdien af <code>$a<\/code>, men den v\u00e6rdi er ikke kopieret fra <code>$a<\/code> til <code>$b<\/code>. I PHP kan vi tildele en v\u00e6rdi ved reference, hvilket betyder at to variable kan pege p\u00e5 de samme data, og hver \u00e6ndring til en variabel p\u00e5virker de oprindelige data. Her er <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\" target=\"_blank\" rel=\"noopener noreferrer\">an et eksempel fra PHP manualen<\/a>:<\/p>\n<pre><code class=\"language-php\">&lt;?php\n$a = 3;\n$b = &$a; \/\/ $b is a reference to $a\n\nprint \"$a\\n\"; \/\/ prints 3\nprint \"$b\\n\"; \/\/ prints 3<\/code><\/pre>\n<p>Lad os nu \u00e6ndre v\u00e6rdien p\u00e5 <code>$a<\/code>:<\/p>\n<pre><code class=\"language-php\">$a = 4; \/\/ skift $a\n\nprint \"$a\\n\"; \/\/ udskriver 4\nudskrive \"$b\\n\"; \/\/ udskriver ogs\u00e5 4, da $b er en henvisning til $a, som er blevet \u00e6ndret<\/code><\/pre>\n<h3>Hvad er listen() Construct og hvordan det \u00e6ndrer sig med PHP 7.3<\/h3>\n<p><a href=\"http:\/\/www.php.net\/list\" target=\"_blank\" rel=\"noopener noreferrer\">list()<\/a> sprogkonstruktion kan bruges til at &#8220;tildele variabler som om de var i en matrix&#8221;, men med <code>list()<\/code> kan vi for \u00f8jeblikket ikke tildele variable v\u00e6rdier ved reference.<\/p>\n<p>PHP 7.3 skal \u00e6ndre dette, s\u00e5 vi kan tildele variabler ved henvisning ogs\u00e5 med <code>list()<\/code> konstruktionen, som vist i f\u00f8lgende eksempel:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\nlist($a, &$b) = $array;<\/code><\/pre>\n<p>Hvilket er det samme som:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\n$a = $array[0];\n$b =& $array[1];<\/code><\/pre>\n<p>Fordelen med dette forslag er, at vi nu kunne tildele flere variabler som reference, hvilket ikke var tilladt for \u00f8jeblikket. Flere eksempler er tilg\u00e6ngelige p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc\/list_reference_assignment\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a>. Forslaget bestod med 17 til 7 stemmer.<\/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() Reference Assignment<\/a><\/li>\n<\/ul>\n<h4>Yderligere ressourcer<\/h4>\n<ul>\n<li>PHP Manual &#8211; <a href=\"http:\/\/php.net\/manual\/en\/function.list.php\" target=\"_blank\" rel=\"noopener noreferrer\">list()<\/a><\/li>\n<li>PHP Manual &#8211; <a href=\"http:\/\/php.net\/manual\/en\/language.references.php\" target=\"_blank\" rel=\"noopener noreferrer\">Referencer Forklaret<\/a><\/li>\n<li>Opgaver Operat\u00f8rer &#8211; <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\" target=\"_blank\" rel=\"noopener noreferrer\">Opgave ved Reference<\/a><\/li>\n<\/ul>\n<h2 id=\"is-countable\">is_countable Funktion<\/h2>\n<p>En anden nyttig funktion, der kommer med PHP 7.3, er funktionen <code>is_countable()<\/code> Op til <a href=\"https:\/\/kinsta.com\/dk\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a>, f\u00e5r vi en fejl, n\u00e5r vi fors\u00f8ger at <a href=\"http:\/\/php.net\/manual\/en\/function.count.php\" target=\"_blank\" rel=\"noopener noreferrer\">count()<\/a> noget, der ikke kan t\u00e6lles. Af denne grund er vi n\u00f8dt til at tilf\u00f8je f\u00f8lgende kode for at undg\u00e5 en advarsel:<\/p>\n<pre><code class=\"language-php\">if (is_array($foo) || $foo instanceof Countable) {\n    \/\/ $foo is countable\n}<\/code><\/pre>\n<p>Denne RFC foresl\u00e5r funktionen <a href=\"https:\/\/wiki.php.net\/rfc\/is-countable\" target=\"_blank\" rel=\"noopener noreferrer\">is_countable()<\/a>, som returnerer <code>true<\/code> hvis den givne variabel er en matrix, eller det er en talbar variabel, <code>false<\/code> ellers. S\u00e5 kan koden ovenfor \u00e6ndres som f\u00f8lger:<\/p>\n<pre><code class=\"language-php\">if (is_countable($foo)) {\n    \/\/ $foo is countable\n}<\/code><\/pre>\n<p>Dette forslag bestod med 25 til 0 stemmer.<br \/>\nPHP 7.3 RFC<\/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>Yderligere ressourcer<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/class.countable.php\" target=\"_blank\" rel=\"noopener noreferrer\">Den talbare gr\u00e6nseflade<\/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>I \u00f8jeblikket kan vi hente den f\u00f8rste og den sidste n\u00f8gle i en matrix ved hj\u00e6lp af <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> og <a href=\"http:\/\/php.net\/manual\/en\/function.key.php\" target=\"_blank\" rel=\"noopener noreferrer\">key()<\/a> funktioner. Desv\u00e6rre, med disse funktioner, er der ingen m\u00e5de at samle det f\u00f8rste eller det sidste indeks i et array uden at \u00e6ndre sin interne tilstand. Andre muligheder reducerer normalt l\u00e6sbarhed og ydeevne.<\/p>\n<p>Dette forslag vil \u00e6ndre dette scenario ved at tilf\u00f8je to nye funktioner til PHP kernen:<\/p>\n<ul>\n<li><code>array_key_first()<\/code><\/li>\n<li><code>array_key_last()<\/code><\/li>\n<\/ul>\n<p>Fra PHP 7.3, <code>array_key_first()<\/code> og <code>array_key_last()<\/code> mulighed for at hente den f\u00f8rste og den sidste tast i et givet array <strong>uden at p\u00e5virke den interne arraypeger<\/strong>. Disse nye funktioner vil give os mulighed for at skrive mindre kompleks kode og i nogle tilf\u00e6lde undg\u00e5 fejl. Se <a href=\"https:\/\/wiki.php.net\/rfc\/array_key_first_last\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> for yderligere information og flere eksempler.<\/p>\n<p><code>array_key_first()<\/code> og <code>array_key_last()<\/code> er blevet godkendt med 18 til 14 stemmer.<\/p>\n<p>Bem\u00e6rk: Den oprindelige RFC foreslog to funktioner, <code>array_value_first()<\/code> og <code>array_value_last()<\/code>, som blev stemt i en anden afstemning, men ikke blevet godkendt og vil ikke blive en del af PHP-kernen.<\/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>Yderligere ressourcer<\/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\">Argon2 Password Hash Enhancements<\/h2>\n<p>Argon2 er en hashingalgoritme <a href=\"https:\/\/kinsta.com\/dk\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">implementeret i<\/a> som et alternativ til Bcrypt-algoritmen. PHP 7.2 introducerede<code>PASSWORD_ARGON2I<\/code> constant, konstanten, der kan bruges til<code>password_*<\/code> funktioner:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2I);<\/code><\/pre>\n<p>Siden den f\u00f8rste implementering er der tilf\u00f8jet en ny variant af Argon2, s\u00e5 p\u00e5 tidspunktet for denne skrivning kommer Argon2 i tre varianter:<\/p>\n<ul>\n<li><strong>Argon2d<\/strong> maksimerer modstand mod GPU krakningsangreb. Det er hurtigere og bruger dataafh\u00e6ngig hukommelsesadgang.<\/li>\n<li><strong>Argon2i<\/strong> bruger data-uafh\u00e6ngig hukommelse adgang, som er foretrukket for password hashing. Det er langsommere, da det g\u00f8r mere passerer over hukommelsen for at beskytte mod offoff-angreb.<\/li>\n<li><strong>Argon2id<\/strong> er en hybrid version, der kombinerer Argon2i tilgangen til den f\u00f8rste overgangshukommelse og Argon2d tilgangen til efterf\u00f8lgende pass.<\/li>\n<\/ul>\n<p>Argon2id anbefales p\u00e5 internettet, undtagen n\u00e5r der er gode grunde til specifikt at foretr\u00e6kke en anden variant.<\/p>\n<p>Den nye RFC foresl\u00e5r implementeringen af Argon2id inden for <a href=\"http:\/\/php.net\/manual\/en\/ref.password.php\" target=\"_blank\" rel=\"noopener noreferrer\">password_*<\/a> -funktionerne med den nye<code>PASSWORD_ARGON2ID<\/code>-konstant:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2ID);<\/code><\/pre>\n<p>Implementeringen er identisk med Argon2i implementeringen og vil acceptere de samme omkostningsfaktorer:<\/p>\n<ul>\n<li>En <strong>hukommelsesomkostning<\/strong> der definerer antallet af KiB, der skal indtages under hashing (standardv\u00e6rdier er 1 &lt;&lt; 10 eller 1024 KiB eller 1 MiB)<\/li>\n<li>En <strong>tidsomkostning<\/strong> der definerer antallet af iterationer af hashingalgoritmen (standard til 2)<\/li>\n<li>En <strong>parallelismefaktor<\/strong>, som angiver antallet af parallelle tr\u00e5de, der vil blive brugt under hashing (standard til 2)<\/li>\n<\/ul>\n<p>Se f\u00f8lgende kode:<\/p>\n<pre><code class=\"language-php\">$options = ['memory_cost' =&gt; 1&lt; 4, 'threads' =&gt; 2];\npassword_hash('password', PASSWORD_ARGON2ID, $options);<\/code><\/pre>\n<p>Flere oplysninger og eksempler p\u00e5 <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>Yderligere ressourcer<\/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: den hukommelses-h\u00e5rde funktion til adgangskode hashing og andre applikationer<\/a> (PDF)<\/li>\n<\/ul>\n<h2 id=\"deprecations\">Deprecations<\/h2>\n<p>F\u00f8lgende funktioner\/funktionaliteter fjernes med PHP 7.3 og fjernes senest PHP 8.0.<\/p>\n<h3>Udskrive og fjerne image2wbmp()<\/h3>\n<p>Funktionen <strong>image2wbmp()<\/strong> udsender eller gemmer en <a href=\"https:\/\/en.wikipedia.org\/wiki\/Wireless_Application_Protocol_Bitmap_Format\" target=\"_blank\" rel=\"noopener noreferrer\">WBMP<\/a> -version af et givet billede. Denne funktion tager tre argumenter: en billedressource, et filnavn (stien til den gemte fil) og en forgrundsfarve.<\/p>\n<p>Fra PHP 5.0 er det identisk med <a href=\"http:\/\/php.net\/manual\/en\/function.imagewbmp.php\" target=\"_blank\" rel=\"noopener noreferrer\">imagewbmp()<\/a>, s\u00e5 denne <a href=\"https:\/\/wiki.php.net\/rfc\/image2wbmp\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> foresl\u00e5r at deprecere og fjerne det.<br \/>\nSiden PHP 7.3, ville hvert opkald til <code>image2wbmp()<\/code> udstede en deprecation advarsel. Efter fjernelsen vil hvert opkald kaste en fatal fejl.<\/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\">Udskrive og fjern image2wbmp()<\/a><\/li>\n<\/ul>\n<h3>Udskrive og fjerne sag-uf\u00f8lsomme konstanter<\/h3>\n<p>PHP underst\u00f8tter i \u00f8jeblikket b\u00e5de case-sensitive og case-insensitive konstanter. Alligevel underst\u00f8ttes tilf\u00e6lde af, <strong>uf\u00f8lsomme konstanter<\/strong> men anses for at v\u00e6re uoverensstemmende i funktionaliteter og at v\u00e6re komplekse at bruge.<br \/>\nDette forslag begynder med f\u00f8lgende lokaler:<\/p>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.oop5.constants.php\" target=\"_blank\" rel=\"noopener noreferrer\">Klassekonstanter<\/a> er<\/li>\n<li>globale konstanter erkl\u00e6ret med <code>const<\/code> er altid sagerf\u00f8lsomme<\/li>\n<li>Konstanter defineret med<code>define()<\/code> er som standard store bogstaver<\/li>\n<\/ul>\n<p>Derudover hedder <a href=\"http:\/\/php.net\/manual\/en\/language.constants.php\" target=\"_blank\" rel=\"noopener noreferrer\">PHP Sprogreferencen<\/a> udtrykkeligt:<\/p>\n<blockquote><p>En konstant er som standard store bogstaver. Ved konventionen er konstante identifikatorer altid store bogstaver.<\/p><\/blockquote>\n<p>N\u00e5r det er sagt, foresl\u00e5r denne RFC f\u00f8lgende \u00e6ndringer:<\/p>\n<ul>\n<li>Deprecate calling <code>define()<\/code> med tredje parameter s\u00e6t til <code>true<\/code> &#8211; PHP 7.3<\/li>\n<li>Deprecate adgang til tilf\u00e6lde-uf\u00f8lsomme konstanter med et hus forskelligt fra erkl\u00e6ringen (med undtagelse af <code>true<\/code>, <code>false<\/code> og <code>null<\/code>) &#8211; PHP 7.3<\/li>\n<li>Fjern muligheden for at erkl\u00e6re sag-uf\u00f8lsomme konstanter &#8211; PHP 8.0<\/li>\n<li>Konverter <code>true<\/code>, <code>false<\/code> og <code>null<\/code> fra special-cased konstanter til reserverede s\u00f8geord &#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\">Udskrive og fjern Case-Insensitive<\/a>.<\/p>\n<h3>Yderligere afskrivninger for PHP 7.3<\/h3>\n<p>Her er en hurtig liste over funktionaliteter afskrevet i PHP 7.3. Det er ikke udt\u00f8mmende, de er bare de deprecationsforslag, som jeg personligt anser mere relevante. For en komplet liste over foresl\u00e5ede afskrivninger, se <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3\" target=\"_blank\" rel=\"noopener noreferrer\">Afskrivninger for PHP 7.3<\/a>.<\/p>\n<p><strong>Ikke-dokumenterede mbstring-funktionaliaser<\/strong>: Der er en r\u00e6kke ubibliotekerede <a href=\"http:\/\/php.net\/manual\/en\/book.mbstring.php\" target=\"_blank\" rel=\"noopener noreferrer\">mbstring<\/a>-funktionaliaser der er duplikater af tilsvarende funktioner ved hj\u00e6lp af <code>mb_<\/code>-pr\u00e6fiks. For eksempel er <code>mbereg<\/code> et alias af <code>mb_ereg<\/code>.<br \/>\nAlle disse funktioner vil blive markeret som for\u00e6ldet, og en afskrivningsmeddelelse vil blive kastet, n\u00e5r de opst\u00e5r under kompilering<\/p>\n<p><strong>Strings\u00f8gningsfunktioner med heltalsn\u00e5l<\/strong>: Disse funktioner fungerer normalt p\u00e5 strengn\u00e5le. Hvis en ikke-strengn\u00e5l gives, konverteres den til et helt tal og anvendes som ordin\u00e6r v\u00e6rdi af et tegn (l\u00e6s mere p\u00e5 <a href=\"http:\/\/php.net\/manual\/en\/function.strpos.php\" target=\"_blank\" rel=\"noopener noreferrer\">PHP nanualen<\/a>). Her er et <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#string_search_functions_with_integer_needle\" target=\"_blank\" rel=\"noopener noreferrer\">eksempel fra RFC<\/a>:<\/p>\n<pre><code class=\"language-php\">$str = \"There are 10 apples\";\nvar_dump(strpos($str, \"10\")); \/\/ int(10)\nvar_dump(strpos($str, 10));   \/\/ bool(false)<\/code><\/pre>\n<p>Dette anses for at v\u00e6re forvirrende og for\u00e5rsage uforudsigelige problemer, fordi typen kan \u00e6ndre sig med brugerdatakilden. Af denne grund foresl\u00e5r RFC sp\u00f8rgsm\u00e5let om en deprecationsadvarsel, hvis en n\u00e5l med n\u00e5lestr\u00f8m passerer til en af \u200b\u200bf\u00f8lgende funktioner:<\/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>I PHP 8.0 skal afskrivningsadvarslen fjernes, og n\u00e5lene skal automatisk konverteres til strenge.<br \/>\n<br \/>\n<strong><code>fgetss()<\/code>-funktionen og <code>string.strip_tags<\/code> stream filter<\/strong>: <code>fgetss()<\/code> og <code>string.strip_tags<\/code> strimmelm\u00e6rker fra en stream, da de l\u00e6ser den. B\u00e5de funktionen og filteret afsl\u00f8rer <a href=\"http:\/\/php.net\/manual\/en\/function.strip-tags.php\" target=\"_blank\" rel=\"noopener noreferrer\">strip_tags()<\/a>-funktionen, hvilket g\u00f8r implementeringen af <code>strip_tags()<\/code> mere kompleks, da der kr\u00e6ves en streaming state-maskine. Derudover p\u00e5peger RFC en <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#fgetss_function_and_stringstrip_tags_filter\" target=\"_blank\" rel=\"noopener noreferrer\">anden ulempe<\/a> ved disse funktioner:<\/p>\n<blockquote><p>P\u00e5 den anden side synes disse funktioner at v\u00e6re af meget lidt nyttev\u00e6rdi. <code>strip_tags()<\/code> selv p\u00e5 grund af sine begr\u00e6nsninger og kendte fejl har allerede meget f\u00e5 legitime applikationer. Der er ikke behov for at levere indbygget support til streaming applikation oven p\u00e5 det.<\/p><\/blockquote>\n<p>S\u00e5 RFC foresl\u00e5r at markere <code>fgetss()<\/code>, <code>gzgetss()<\/code> og <code>SplFileObject::fgetss()<\/code> som udskrevet.<\/p>\n<h2>Hvad Betyder PHP 7.3 for WordPress-Brugere?<\/h2>\n<p>If\u00f8lge den officielle\u00a0<a href=\"https:\/\/wordpress.org\/about\/stats\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress Stats-side<\/a>, som skrevet af dette, har kun 32,9% af WordPress-brugere opgraderet til PHP 7 eller h\u00f8jere. Kun 4% bruger\u00a0<a href=\"https:\/\/kinsta.com\/dk\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a>. Du kan se, at et stort flertal af brugere, over 38%, stadig k\u00f8rer p\u00e5 PHP 5.6. Hvad der endda er skr\u00e6mmende er, at over 28,5% af brugerne bruger ikke-underst\u00f8ttede PHP-versioner. I december 2016 ramte WordPress.org faktisk deres\u00a0<a href=\"https:\/\/wordpress.org\/about\/requirements\/\" target=\"_blank\" rel=\"noopener noreferrer\">officielle anbefaling<\/a>\u00a0til brugere fra PHP 5.6 til PHP 7 eller h\u00f8jere.<\/p>\n<figure style=\"width: 1404px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/08\/wordpress-php-versioner.png\" alt=\"WordPress PHP versioner\" width=\"1404\" height=\"1054\"><figcaption class=\"wp-caption-text\">WordPress PHP versioner<\/figcaption><\/figure>\n<h3>PHP 7 Performance<\/h3>\n<p>Tallene ovenfor er is\u00e6r afskr\u00e6mmende kommer fra et pr\u00e6stationssynspunkt, da PHP 7 har vist sig at v\u00e6re betydeligt hurtigere. Her er et par statistikker:<\/p>\n<ul>\n<li>Officielle PHP\u00a0<a href=\"http:\/\/talks.php.net\/fluent15#\/wpbench\" target=\"_blank\" rel=\"noopener noreferrer\">benchmarks<\/a>\u00a0viser, at PHP 7 tillader, at systemet udf\u00f8rer dobbelt s\u00e5 mange anmodninger pr. Sekund i sammenligning med PHP 5.6 ved n\u00e6sten halvdelen af latensen.<\/li>\n<li>Christian Vigh offentliggjorde ogs\u00e5 en a\u00a0<a href=\"https:\/\/www.phpclasses.org\/blog\/post\/493-php-performance-evolution.html\" target=\"_blank\" rel=\"noopener noreferrer\">PHP pr\u00e6stations sammenligning<\/a>\u00a0hvor han fandt ud af, at PHP 5.2 var 400% langsommere end PHP 7.<\/li>\n<\/ul>\n<p>Vi k\u00f8rte vores egne <a href=\"https:\/\/kinsta.com\/dk\/blog\/php-benchmarks\/\">PHP performance benchmarks<\/a>. Og p\u00e5 samme m\u00e5de som benchmarks ovenfor s\u00e5 vi, at WordPress 5.0 p\u00e5 PHP 7.3 kunne udf\u00f8re n\u00e6sten tre gange s\u00e5 mange transaktioner (anmodninger) pr. Sekund i forhold til PHP 5.6.<\/p>\n<figure id=\"attachment_37393\" aria-describedby=\"caption-attachment-37393\" style=\"width: 940px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-37393\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2018\/12\/wordpress-5.0-php-benchmarks-v2.png\" alt=\"WordPress 5.0 PHP benchmarks\" width=\"940\" height=\"788\"><figcaption id=\"caption-attachment-37393\" 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 \/ sek<\/li>\n<li>WordPress 5.0 PHP 7.0 benchmark resultater: 206.71 req \/ sek<\/li>\n<li>WordPress 5.0 PHP 7.1 benchmark resultater: 210.98 req \/ sek<\/li>\n<li>WordPress 5.0 PHP 7.2 benchmark resultater: 229.18 req \/ sek<\/li>\n<li>WordPress 5.0 <strong>PHP 7.3 benchmark resultater: 253.20 req \/ sek\ud83c\udfc6<\/strong><\/li>\n<\/ul>\n<p>Det er ogs\u00e5 interessant at bem\u00e6rke, at WordPress 4.9.8 p\u00e5 PHP 7.3 var lidt hurtigere end WordPress 5.0.<\/p>\n<figure id=\"attachment_37398\" aria-describedby=\"caption-attachment-37398\" style=\"width: 940px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-37398\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2018\/12\/wordpress-4.9.8-php-benchmarks.png\" alt=\"WordPress 4.9.8 PHP benchmarks\" width=\"940\" height=\"788\"><figcaption id=\"caption-attachment-37398\" 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 benchmark resultater: 221.42 req \/ sek<\/li>\n<li>WordPress 4.9.8 PHP 7.1 benchmark resultater: 233.78 req \/ sek<\/li>\n<li>WordPress 4.9.8 PHP 7.2 benchmark resultater: 250.36 req \/ sek<\/li>\n<li>WordPress 4.9.8 <strong>PHP 7.3 benchmark resultater: 276.31 req \/ sek \ud83c\udfc6<\/strong><\/li>\n<\/ul>\n<p>Mange er langsomme om at opdatere p\u00e5 grund af den tid, der er involveret i testning af alle deres nye tredjeparts plugins og temaer, for at sikre, at de fungerer korrekt. Men mange gange kommer det ned til, at de simpelthen ikke har gjort det endnu.<\/p>\n<h3>Kontrol af din PHP-version<\/h3>\n<p>Ikke sikker p\u00e5 hvilken version af PHP du k\u00f8rer? En af de nemmeste m\u00e5der at kontrollere er at bruge et v\u00e6rkt\u00f8j som\u00a0<a href=\"https:\/\/kinsta.com\/dk\/blog\/pingdom-speed-test\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pingdom<\/a>\u00a0eller Google Chrome Devtools. Den f\u00f8rste HTTP-anmodningsoverskrift viser typisk versionen.<\/p>\n<figure style=\"width: 1679px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2017\/10\/check-version-af-php.png\" alt=\"Check version af PHP\" width=\"1679\" height=\"644\"><figcaption class=\"wp-caption-text\">Check version af PHP<\/figcaption><\/figure>\n<p>Dette afh\u00e6nger af, at v\u00e6rten ikke \u00e6ndrer v\u00e6rdien <code>X-Powered-By<\/code> header. Hvis de g\u00f8r det, kan du muligvis ikke se din PHP-version. I s\u00e5 fald kan du ogs\u00e5 installere et gratis plugin som <a href=\"https:\/\/wordpress.org\/plugins\/version-info\/\">Version Info<\/a> hvilket vil vise dig nogle grundl\u00e6ggende serveroplysninger i foden af dit WordPress admin dashboard.<\/p>\n<figure id=\"attachment_37448\" aria-describedby=\"caption-attachment-37448\" style=\"width: 1942px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-37448 size-full\" src=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/08\/tjek-ph-version-wordpress.png\" alt=\"Tjek PHP version i WordPress\" width=\"1942\" height=\"1038\"><figcaption id=\"caption-attachment-37448\" class=\"wp-caption-text\">Tjek PHP version i WordPress<\/figcaption><\/figure>\n<p>Alternativt kan du ogs\u00e5 <a href=\"https:\/\/kinsta.com\/dk\/blog\/php-versioner\/\">uploade en fil via FTP<\/a> for at se din PHP-version eller n\u00e5 ud til din v\u00e6rt og sp\u00f8rge.<\/p>\n<h3>Opdatering til\u00a0PHP 7.3<\/h3>\n<p>Den endelige version af PHP 7.3 er her, og du kan begynde at teste det med det samme. Du kan\u00a0<a href=\"https:\/\/kinsta.com\/dk\/blog\/installeres-wordpress-lokalt\/\" target=\"_blank\" rel=\"noopener noreferrer\">teste dit WordPress-websted lokalt<\/a>\u00a0eller kontrollere dine scripts i et milj\u00f8 som\u00a0<a href=\"https:\/\/docs.docker.com\/get-started\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker<\/a>, som giver dig mulighed for at teste forskellige versioner af PHP fra kommandolinjen.<\/p>\n<p>Eller du kan udnytte et scenemilj\u00f8, da det ligner et live produktionssted. Opret et a\u00a0<a href=\"https:\/\/kinsta.com\/docs\/wordpress-hosting\/staging-environment\/\" target=\"_blank\" rel=\"noopener noreferrer\">scenemilj\u00f8<\/a>\u00a0med et par enkle klik i MyKinsta dashboard.<\/p>\n<figure style=\"width: 1670px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/10\/wordpress-staging-scenemiljo.png\" alt=\"WordPress staging scenemilj\u00f8\" width=\"1670\" height=\"735\"><figcaption class=\"wp-caption-text\">WordPress staging scenemilj\u00f8<\/figcaption><\/figure>\n<p>Vi anbefaler altid at teste grundigt, inden du bruger det p\u00e5 et produktionssted. For at g\u00f8re det, skal du simpelthen \u00e6ndre PHP-motoren til installationsstedet under &#8220;V\u00e6rkt\u00f8jer&#8221;, og du kan begynde at teste, for at sikre kompatibiliteten af dine tredjeparts plugins og temaer.<\/p>\n<figure id=\"attachment_37422\" aria-describedby=\"caption-attachment-37422\" style=\"width: 1546px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-37422 size-full\" src=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/12\/skift-til-php-7-3.png\" alt=\"Skift til PHP 7.3\" width=\"1546\" height=\"878\"><figcaption id=\"caption-attachment-37422\" class=\"wp-caption-text\">Skift til PHP 7.3<\/figcaption><\/figure>\n<p>N\u00e5r du har bekr\u00e6ftet, at alt fungerer, kan du enten \u00e6ndre dit produktionssted over til PHP 7.3 eller hvis du har foretaget \u00e6ndringer, skal du ogs\u00e5 <a href=\"https:\/\/kinsta.com\/docs\/wordpress-hosting\/staging-environment\/#push-staging-to-live-1\">s\u00e6tte din scene-side til live<\/a>.<\/p>\n<h2>Resum\u00e9<\/h2>\n<p>Den nyeste og bedste version af PHP er her. Det bringer os gaver som fleksible heredocs og nudocs, kommende kommaer i funktionsopkald, <code>list ()<\/code> referenceopgaver og mere. I dette indl\u00e6g har vi givet et overblik over vores foretrukne forbedringer og \u00e6ndringer, men vi vil ogs\u00e5 gerne vide, hvilke er dine foretrukne, og p\u00e5 hvilke m\u00e5der vil du udnytte dem. Lad os vide det i kommentarerne nedenfor.<\/p>\n\n<p>Du kan finde den fulde liste over PHP 7.3-forslag p\u00e5 siden <a href=\"https:\/\/wiki.php.net\/rfc#php_73\" target=\"_blank\" rel=\"noopener noreferrer\">Foresp\u00f8rgsler til kommentarer<\/a> og GitHubs <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>Fra den 6. december 2018 er den seneste og st\u00f8rste version, PHP 7.3, her! Med det kommer nye nyttige funktioner, funktionaliteter, deprecations, et stort antal fejlrettelser &#8230;<\/p>\n","protected":false},"author":36,"featured_media":29614,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[39,38],"topic":[726],"class_list":["post-29605","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-php","tag-webdev","topic-php-opdateringer"],"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>Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta) - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"PHP 7.3 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i 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\/dk\/blog\/php-7-3\/\" \/>\n<meta property=\"og:locale\" content=\"da_DK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta)\" \/>\n<meta property=\"og:description\" content=\"PHP 7.3 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i PHP 7.3!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-02T01:59:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-28T06:15:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/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 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i PHP 7.3!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png\" \/>\n<meta name=\"twitter:creator\" content=\"@carlodaniele\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_dk\" \/>\n<meta name=\"twitter:label1\" content=\"Skrevet af\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Daniele\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimeret l\u00e6setid\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta)\",\"datePublished\":\"2018-11-02T01:59:09+00:00\",\"dateModified\":\"2023-08-28T06:15:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/\"},\"wordCount\":3409,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png\",\"keywords\":[\"php\",\"webdev\"],\"articleSection\":[\"Wordpress Udvikling\"],\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/\",\"url\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/\",\"name\":\"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta) - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png\",\"datePublished\":\"2018-11-02T01:59:09+00:00\",\"dateModified\":\"2023-08-28T06:15:42+00:00\",\"description\":\"PHP 7.3 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i PHP 7.3!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#breadcrumb\"},\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png\",\"contentUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/dk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP opdateringer\",\"item\":\"https:\/\/kinsta.com\/dk\/emner\/php-opdateringer\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/dk\/#website\",\"url\":\"https:\/\/kinsta.com\/dk\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Hurtig, sikker, premium hostingl\u00f8sninger\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/dk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"da-DK\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/dk\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/\",\"https:\/\/x.com\/kinsta_dk\",\"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\/dk\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\",\"name\":\"Carlo Daniele\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/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\/dk\/blog\/author\/carlodaniele\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta) - Kinsta\u00ae","description":"PHP 7.3 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i 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\/dk\/blog\/php-7-3\/","og_locale":"da_DK","og_type":"article","og_title":"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta)","og_description":"PHP 7.3 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i PHP 7.3!","og_url":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/","article_published_time":"2018-11-02T01:59:09+00:00","article_modified_time":"2023-08-28T06:15:42+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"PHP 7.3 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i PHP 7.3!","twitter_image":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png","twitter_creator":"@carlodaniele","twitter_site":"@kinsta_dk","twitter_misc":{"Skrevet af":"Carlo Daniele","Estimeret l\u00e6setid":"18 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta)","datePublished":"2018-11-02T01:59:09+00:00","dateModified":"2023-08-28T06:15:42+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/"},"wordCount":3409,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/dk\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png","keywords":["php","webdev"],"articleSection":["Wordpress Udvikling"],"inLanguage":"da-DK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/","url":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/","name":"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta) - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/dk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png","datePublished":"2018-11-02T01:59:09+00:00","dateModified":"2023-08-28T06:15:42+00:00","description":"PHP 7.3 er p\u00e5 trapperne og med det kommer nye funktioner, for\u00e6ldelser og fejlrettelser. Tjek dette dybtg\u00e5ende overblik over, hvad der er nyt i PHP 7.3!","breadcrumb":{"@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#breadcrumb"},"inLanguage":"da-DK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/dk\/blog\/php-7-3\/"]}]},{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#primaryimage","url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png","contentUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2018\/11\/php-7.3.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/dk\/blog\/php-7-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/dk\/"},{"@type":"ListItem","position":2,"name":"PHP opdateringer","item":"https:\/\/kinsta.com\/dk\/emner\/php-opdateringer\/"},{"@type":"ListItem","position":3,"name":"Hvad er Nyt i PHP 7.3 (Nu Tilg\u00e6ngelig p\u00e5 Kinsta)"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/dk\/#website","url":"https:\/\/kinsta.com\/dk\/","name":"Kinsta\u00ae","description":"Hurtig, sikker, premium hostingl\u00f8sninger","publisher":{"@id":"https:\/\/kinsta.com\/dk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/dk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"da-DK"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/dk\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/dk\/","logo":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/","https:\/\/x.com\/kinsta_dk","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\/dk\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63","name":"Carlo Daniele","image":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/#\/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\/dk\/blog\/author\/carlodaniele\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/29605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/comments?post=29605"}],"version-history":[{"count":16,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/29605\/revisions"}],"predecessor-version":[{"id":47090,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/29605\/revisions\/47090"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/en"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/es"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/it"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/fr"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/se"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/pt"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/jp"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/translations\/dk"},{"href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/29605\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/media\/29614"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/media?parent=29605"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/tags?post=29605"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/topic?post=29605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}