{"id":31263,"date":"2019-10-14T07:53:48","date_gmt":"2019-10-14T14:53:48","guid":{"rendered":"https:\/\/kinsta.com\/?p=31095"},"modified":"2022-12-29T12:09:01","modified_gmt":"2022-12-29T12:09:01","slug":"php-7-3","status":"publish","type":"post","link":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/","title":{"rendered":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)"},"content":{"rendered":"<p>Fr\u00e5n och med 6 December 2018, \u00e4r den senaste och b\u00e4sta versionen, PHP 7.3 \u00e4r h\u00e4r! Med det kommer nya anv\u00e4ndbara funktioner, avvecklingar, ett bra antal buggfixar och ett uppsving i prestanda. <strong>PHP 7.3 \u00e4r nu ocks\u00e5 tillg\u00e4nglig f\u00f6r alla Kinsta-klienter<\/strong> i <a href=\"https:\/\/my.kinsta.com\/sites\/tools\/?lang=sv\">MyKinsta-panelen<\/a>.\u00a0\ud83e\udd18<\/p>\n<p><strong>Uppdatering:<\/strong> <a href=\"https:\/\/kinsta.com\/se\/changelog\/php-8-1\/\">PHP 8.1 (officiell release)<\/a> finns nu tillg\u00e4nglig f\u00f6r alla Kinsta-kunder. PHP 7.3 st\u00f6ds inte l\u00e4ngre hos Kinsta. Observera att vi st\u00f6der PHP-versionerna 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 och 8.5.<\/p>\n<p>I det h\u00e4r inl\u00e4gget ger vi en \u00f6versikt \u00f6ver de funktioner och \u00e4ndringar som vi personligen anser vara mest relevanta. Men du kan alltid kontrollera den fullst\u00e4ndiga listan \u00f6ver funktioner, \u00e4ndringar och buggfixar i <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING\">PHP 7.3s uppgraderingsanteckningar<\/a> och <a href=\"https:\/\/wiki.php.net\/rfc#php_73\">PHP 7.3 Beg\u00e4ran om kommentarer<\/a>.<\/p>\n\n<h2>Vad \u00e4r nytt i PHP med PHP 7.3?<\/h2>\n<p>I det h\u00e4r inl\u00e4gget t\u00e4cker vi f\u00f6ljande PHP 7.3-\u00e4ndringar:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#flexible-heredoc-nowdoc\">Implementerade Flexibla Heredoc och Nowdoc-syntaxer<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#trailing-comma-in-function-calls\">Till\u00e5t ett avslutande kommatecken i funktionsanrop<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#list\">list() Referenstilldelning<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#is-countable\">is_countable-funktion<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#array-key-first-last\">array_key_first(), array_key_last()<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#argon2\">F\u00f6rb\u00e4ttringar till Argon2 Password Hash<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#deprecations\">Avvecklingar<\/a><\/li>\n<\/ul>\n<h2 id=\"flexible-heredoc-nowdoc\">Flexibla Heredoc och Nowdoc Syntaxer<\/h2>\n<p>Detta \u00e4r f\u00f6rmodligen en av de mest relevanta f\u00f6rb\u00e4ttringarna som kommer med PHP 7.3, och vi tycker att den f\u00f6rtj\u00e4nar lite mer uppm\u00e4rksamhet. S\u00e5, innan vi dyker in i PHP 7.3 heredoc\/nowdoc-\u00e4ndringar, ger vi en snabb \u00f6versikt \u00f6ver denna anv\u00e4ndbara k\u00e4rnfunktion. Om du redan k\u00e4nner dig s\u00e4ker p\u00e5 nowdoc och heredoc, \u00e4r det bara att hoppa ner till \u00e4ndringarna i PHP 7.3.<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#heredoc-nowdoc-overview\">En \u00f6versikt \u00f6ver heredoc och nowdoc-syntaxer<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#heredoc-nowdoc-indentation\">PHP 7.3: Till\u00e5ter att st\u00e4ngningsmark\u00f6ren \u00e4r indragen och att det ledande blanksteget kan tas bort<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#heredoc-nowdoc-closing-marker\">PHP 7.3: Ta bort det Avslutande Ny Rad-kravet fr\u00e5n St\u00e4ngningsmark\u00f6ren<\/a><\/li>\n<\/ul>\n<h3 id=\"heredoc-nowdoc-overview\">En \u00f6versikt \u00f6ver heredoc och nowdoc-syntaxer<\/h3>\n<p><strong>Heredoc-syntaxen ger ett s\u00e4tt att l\u00e4gga till en stor m\u00e4ngd text utan att beh\u00f6va undvika saker som dubbla citat<\/strong>. En heredoc b\u00f6rjar med <code>&lt;&lt;&lt;<\/code> f\u00f6ljt av en mark\u00f6r och slutar med samma mark\u00f6r f\u00f6ljt av ett semikolon. H\u00e4r \u00e4r ett exempel:<\/p>\n<pre><code class=\"language-php\">print &lt;&lt;&lt;EOT\nHeredoc text behaves just like a double-quoted string, without the double quotes.\nEOT;<\/code><\/pre>\n<p>En nowdoc beter sig liknande en heredoc, med n\u00e5gra undantag:<\/p>\n<ul>\n<li>Identifieraren \u00e4r innesluten i enstaka citattecken (<code>&lt;&lt;&lt;'EOT'<\/code>)<\/li>\n<li>Ingen parsning g\u00f6rs inuti en nowdoc<\/li>\n<\/ul>\n<p>H\u00e4r \u00e4r ett exempel 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 och nowdocs har samma regler f\u00f6r anv\u00e4ndningen av st\u00e4ngningsmark\u00f6ren:<\/p>\n<ol>\n<li>St\u00e4ngningsmark\u00f6ren m\u00e5ste b\u00f6rja i radens f\u00f6rsta kolumn<\/li>\n<li>Mark\u00f6ren m\u00e5ste f\u00f6lja samma namnregler som alla andra etiketter i PHP: den m\u00e5ste inneh\u00e5lla endast alfanumeriska tecken och understreck, och m\u00e5ste b\u00f6rja med ett icke-siffrigt tecken eller understreck.<\/li>\n<\/ol>\n<p><a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.heredoc\">PHP-manualen<\/a> varnar:<\/p>\n<blockquote><p>Det \u00e4r mycket viktigt att notera att raden med st\u00e4ngningsidentifieraren inte f\u00e5r inneh\u00e5lla n\u00e5gra andra tecken, f\u00f6rutom ett semikolon (;). Det betyder s\u00e4rskilt att identifieraren inte f\u00e5r vara indragen, och det f\u00e5r inte finnas n\u00e5gra mellanslag eller tabbar f\u00f6re eller efter semikolonet. Det \u00e4r ocks\u00e5 viktigt att inse att det f\u00f6rsta tecknet f\u00f6re st\u00e4ngningsidentifieraren m\u00e5ste vara en ny rad enligt hur det definieras av det lokala operativsystemet. Det \u00e4r <code>\\n<\/code> p\u00e5 UNIX-system, inklusive macOS. Den avslutande avgr\u00e4nsaren m\u00e5ste ocks\u00e5 f\u00f6ljas av en ny rad.<\/p><\/blockquote>\n<p><strong> PHP 7.2 ogiltig syntax: <\/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 giltig syntax: <\/strong><\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\nbar\nEOT;\n}<\/code><\/pre>\n<p>F\u00f6r att h\u00e5lla det kort, i PHP 7.2:<\/p>\n<ul>\n<li>F\u00e5r inte st\u00e4ngningsmark\u00f6ren vara indragen<\/li>\n<li>F\u00e5r inte raden med st\u00e4ngningsmark\u00f6ren inneh\u00e5lla tecken som mellanslag eller tabbar<\/li>\n<li>M\u00e5ste det f\u00f6rsta tecknet f\u00f6re st\u00e4ngningsmark\u00f6ren vara en ny rad<\/li>\n<li>M\u00e5ste st\u00e4ngningsmark\u00f6ren f\u00f6ljas av en ny rad<\/li>\n<\/ul>\n<p>Det \u00e4r tillr\u00e4ckligt tydligt att heredoc och nowdoc-syntaxer \u00e4r ganska restriktiva, men PHP 7.3 kan \u00e4ndra detta lite med f\u00f6ljande f\u00f6rb\u00e4ttringar.<\/p>\n<h3 id=\"heredoc-nowdoc-indentation\">1. L\u00e5t st\u00e4ngningsmark\u00f6ren vara indragen och till\u00e5t att det ledande blanksteget tas bort.<\/h3>\n<p><strong>Med PHP 7.3 f\u00e5r vi flytta in st\u00e4ngningsmark\u00f6ren, <\/strong>och vi kan s\u00e4kert skriva f\u00f6ljande kod:<\/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>Indragningen av st\u00e4ngningsmark\u00f6ren anger m\u00e4ngden blankslag (eller tabbar) som kommer att tas bort fr\u00e5n varje rad i kroppen. Men var f\u00f6rsiktig: <strong>st\u00e4ngningsmark\u00f6ren b\u00f6r aldrig vara indragen l\u00e4ngre \u00e4n n\u00e5gon annan rad i kroppen<\/strong>.<\/p>\n<p>Se koden nedan:<\/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 ovan skulle ge f\u00f6ljande parsningsfel:<\/p>\n<pre>Parse error: Invalid body indentation level (expecting an indentation at least ...) in %s on line %d<\/pre>\n<p>Att ta bort tabbar och blanksteg l\u00e5ter oss dra in kroppen till heredoc\/nowdoc till samma niv\u00e5 som koden runtomkring dem, och utan on\u00f6diga blanksteg f\u00f6re varje rad i kroppen.<\/p>\n<p>Vi kan anv\u00e4nda b\u00e5de tabbar och blanksteg f\u00f6r indrag, men vi f\u00e5r inte blanda dem. Det inneb\u00e4r att <strong>vi m\u00e5ste anv\u00e4nda samma indragningstecken f\u00f6r st\u00e4ngningsmark\u00f6ren och alla rader i kroppen<\/strong>. Vid olika indragningstecken f\u00f6rv\u00e4ntar vi oss en annan typ av parsefel (ogiltig indrag).<\/p>\n<h3 id=\"heredoc-nowdoc-closing-marker\">2. Ta bort det avslutande ny rad-kravet fr\u00e5n st\u00e4ngningsmark\u00f6ren<\/h3>\n<p>F\u00f6r n\u00e4rvarande m\u00e5ste en ny rad f\u00f6lja mark\u00f6ren f\u00f6r att avsluta heredoc\/nowdoc. PHP 7.3 skulle \u00e4ndra detta och skulle till\u00e5ta oss att avsluta heredoc\/nowdoc p\u00e5 samma rad. H\u00e4r \u00e4r ett exempel fr\u00e5n RFC:<\/p>\n<p><strong> PHP 7.2 giltig syntax: <\/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 giltig syntax: <\/strong><\/p>\n<pre><code class=\"language-php\">$values = [&lt;&lt;&lt;END\na\nb\nc\nEND, 'd e f'];<\/code><\/pre>\n<p>Hur som helst, var f\u00f6rsiktig n\u00e4r du v\u00e4ljer namnet p\u00e5 din mark\u00f6r eftersom det ibland kan ske ett fel, om det matchar ett ord du anv\u00e4nde i kroppen f\u00f6r heredoc\/nowdoc (l\u00e4s mer om detta p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\">RFC<\/a> och <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING#L33\">GitHub<\/a>).<\/p>\n<p>B\u00e5da f\u00f6rslagen antogs med mer \u00e4n 2\/3 r\u00f6ster.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\">Flexibla Heredoc och Nowdoc Syntaxer<\/a><\/li>\n<\/ul>\n<h4>Ytterligare resurser<\/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\">Till\u00e5t ett avslutande kommatecken i funktionsanrop<\/h2>\n<p>Avslutande kommatecken (eller &#8221;slutliga kommatecken&#8221;) \u00e4r kommatecken som l\u00e4ggs till i en lista \u00f6ver element, parametrar eller egenskaper och de kommer till nytta i sammanhang d\u00e4r nya v\u00e4rden l\u00e4ggs till ofta eftersom de f\u00f6rhindrar fel p\u00e5 grund av ett saknat kommatecken. I PHP \u00e4r avslutande kommatecken till\u00e5tna i arrayer, och fr\u00e5n och med <a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-2\/\">PHP 7.2<\/a> \u00e4r de till\u00e5tna i grupperade namnomr\u00e5den.<\/p>\n<p>Fr\u00e5n och med PHP 7.3 skulle avslutande kommatecken till\u00e5tas i funktionsdeklarationer. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Variadic_function\">Variadiska funktioner<\/a> ger ett exempel p\u00e5 sammanhang d\u00e4r avslutande kommatecken \u00e4r extremt anv\u00e4ndbara:<\/p>\n<pre><code class=\"language-php\">foo(\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Vi kan anv\u00e4nda ett avslutande kommatecken n\u00e4r vi skapar en array med <code>compact()<\/code>, f\u00f6r att returnera en formaterad str\u00e4ng med <code>sprintf()<\/code>, eller vid sammanslagning av en array:<\/p>\n<pre><code class=\"language-php\">$newArray = array_merge(\n    $arrayOne,\n    $arrayTwo,\n    ['foo', 'bar'],\n);<\/code><\/pre>\n<p>Avslutande kommatecken skulle ocks\u00e5 vara anv\u00e4ndbara f\u00f6r fels\u00f6kning:<\/p>\n<pre><code class=\"language-php\">var_dump(\n    $foo,\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Och de \u00e4r kraftfulla med <code>unset()<\/code> och <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>Avslutande kommatecken kommer ocks\u00e5 att till\u00e5tas i metodanrop och kapslingar.<\/p>\n<p>Observera:\u00a0<strong>Denna \u00e4ndring skulle endast p\u00e5verka funktionsanrop. Syntaxen f\u00f6r funktionsdeklarationer \u00e4ndras inte<\/strong>. Dessutom kommer frist\u00e5ende kommatecken, flera avslutande kommatecken och ledande kommatecken inte att till\u00e5tas.<\/p>\n<p>Ytterligare exempel finns p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc\/trailing-comma-function-calls\">RFC-sidan<\/a>. Denna RFC gick igenom med 30 r\u00f6ster mot 10.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\">Flexibla Heredoc och Nowdoc Syntaxer<\/a><\/li>\n<\/ul>\n<h2 id=\"JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/h2>\n<p>En av de mest uppskattade funktionerna som kommer med PHP 7.3 \u00e4r ett nytt s\u00e4tt att hantera JSON-fel. Detta \u00e4r inte en k\u00e4rnfunktion, utan ett till\u00e4gg till JSON-till\u00e4gget som skulle \u00e4ndra <a href=\"http:\/\/www.php.net\/json_decode\">json_decode()<\/a> och <a href=\"http:\/\/www.php.net\/json_encode\">json_encodes()<\/a>s felbeteende.<\/p>\n<p>F\u00f6r n\u00e4rvarande returnerar <code>json_decode()<\/code> <code>null<\/code> vid fel, men <code>null<\/code> kan ocks\u00e5 vara ett giltigt resultat. Detta kan vara f\u00f6rvirrande, eftersom:<\/p>\n<blockquote><p>Det \u00e4r bara m\u00f6jligt att veta om ett fel uppstod genom att anropa <code>json_last_error()<\/code> eller <code>json_last_error_msg()<\/code>, som returnerar det globala feltillst\u00e5ndet i maskinl\u00e4sbara respektive m\u00e4nskligt l\u00e4sbara former. &#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> returnerar <code>FALSE<\/code> vid fel. Detta \u00e4r tydligare eftersom det finns ett specifikt felv\u00e4rde. Hur som helst, <strong>b\u00e5da funktionerna stoppar inte programexekvering vid fel eller ger n\u00e5gon varning<\/strong>.<\/p>\n<p>Med detta sagt, h\u00e4r \u00e4r f\u00f6rslaget till PHP 7.3:<\/p>\n<blockquote><p>Denna RFC f\u00f6resl\u00e5r ist\u00e4llet att l\u00e4gga till ett nytt alternativ flaggv\u00e4rde f\u00f6r <code>json_decode()<\/code> och <code>json_encode()<\/code>, <code>JSON_THROW_ON_ERROR<\/code>. N\u00e4r den h\u00e4r flaggan har f\u00e5tt godk\u00e4nt \u00e4ndras felbeteendet f\u00f6r dessa funktioner. Det globala feltillst\u00e5ndet l\u00e4mnas or\u00f6rt, och om ett fel uppst\u00e5r som annars skulle orsaka det, ger dessa funktioner ist\u00e4llet en <code>JsonException<\/code> med meddelandet och koden inst\u00e4lld p\u00e5 vad <code>json_last_error()<\/code> respektive <code>json_last_error_msg()<\/code> annars skulle vara.<\/p><\/blockquote>\n<p>H\u00e4r \u00e4r ett exempel som visar ett enkelt s\u00e4tt att visa ett JSON-fel:<\/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>Att orsaka ett undantag vid fel skulle ge flera f\u00f6rdelar som du hittar listade i <a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\">RFC<\/a>:n.<\/p>\n<p>Obs! en ogiltig djupparameter som skickas <code>till json_decode()<\/code> matar ut en varning och returnerar <code>NULL<\/code>. Detta beteende p\u00e5verkas inte av <code>JSON_THROW_ON_ERROR<\/code>. P\u00e5 samma s\u00e4tt p\u00e5verkas inte parameterparseringsfel av <code>JSON_THROW_ON_ERROR<\/code> och forts\u00e4tter att producera varningar.<\/p>\n<p>Detta f\u00f6rslag antogs med 23 r\u00f6ster mot 0.<\/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>Ytterligare resurser<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/book.json.php\">JavaScript Objektsnotering<\/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\">PHP Spr\u00e5kundantag<\/a><\/li>\n<\/ul>\n<h2 id=\"list\">list() Referenstilldelning<\/h2>\n<h3>Vad Betyder Referenstilldelning?<\/h3>\n<p>Beakta f\u00f6ljande rad:<\/p>\n<pre><code class=\"language-php\">$b = &$a;<\/code><\/pre>\n<p>H\u00e4r f\u00e5r <code>$b<\/code> v\u00e4rdet av <code>$a<\/code>, men det v\u00e4rdet kopieras inte fr\u00e5n <code>$a<\/code> till <code>$b<\/code>. I PHP kan vi tilldela ett v\u00e4rde som referens, vilket inneb\u00e4r att tv\u00e5 variabler kan peka p\u00e5 samma data, och varje \u00e4ndring av en variabel p\u00e5verkar originaldata. H\u00e4r \u00e4r <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\">ett exempel fr\u00e5n 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>L\u00e5t oss nu \u00e4ndra v\u00e4rdet p\u00e5 <code>$a<\/code>:<\/p>\n<pre><code class=\"language-php\">$a = 4; \/\/ change $a\n\nprint \"$a\\n\"; \/\/ prints 4\nprint \"$b\\n\"; \/\/ prints 4 as well, since $b is a reference to $a, which has been changed<\/code><\/pre>\n<h3>Vad \u00e4r list()-konstruktionen och hur \u00e4ndras det med PHP 7.3<\/h3>\n<p>Spr\u00e5kkonstruktionen <a href=\"http:\/\/www.php.net\/list\">list()<\/a> kan anv\u00e4ndas f\u00f6r att &#8221;tilldela variabler som om de var i en array&#8221;, men med <code>list()<\/code> f\u00e5r vi f\u00f6r n\u00e4rvarande inte tilldela variabelv\u00e4rden genom referens.<\/p>\n<p>PHP 7.3 kommer \u00e4ndra detta s\u00e5 att vi kan tilldela variabler genom referens \u00e4ven med <code>list()<\/code>-konstruktionen, som visas i f\u00f6ljande exempel:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\nlist($a, &$b) = $array;<\/code><\/pre>\n<p>Vilket \u00e4r detsamma som:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\n$a = $array[0];\n$b =& $array[1];<\/code><\/pre>\n<p>F\u00f6rdelen med detta f\u00f6rslag \u00e4r att vi nu kan tilldela flera variabler som referens, vilket f\u00f6r n\u00e4rvarande inte \u00e4r till\u00e5tet. Fler exempel finns p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc\/list_reference_assignment\">RFC<\/a>. Detta f\u00f6rslag antogs med 20 r\u00f6ster mot 7.<\/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>Ytterligare resurser<\/h4>\n<ul>\n<li>PHP Manual \u2013\u00a0<a href=\"http:\/\/php.net\/manual\/en\/function.list.php\">list()<\/a><\/li>\n<li>PHP Manual \u2013 <a href=\"http:\/\/php.net\/manual\/en\/language.references.php\">F\u00f6rklaring av Referenser<\/a><\/li>\n<li>Tilldelningsoperat\u00f6rer \u2013 <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\">Tilldelning genom referens<\/a><\/li>\n<\/ul>\n<h2 id=\"is-countable\">is_countable-funktion<\/h2>\n<p>En annan anv\u00e4ndbar funktion som kommer med PHP 7.3 \u00e4r funktionen is_countable(). Fram till <a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-2\/\">PHP 7.2<\/a> f\u00e5r vi ett fel n\u00e4r vi f\u00f6rs\u00f6ker <a href=\"http:\/\/php.net\/manual\/en\/function.count.php\">count()<\/a> n\u00e5got som inte kan r\u00e4knas. F\u00f6r att undvika en varning \u00e4r vi av denna anledning tvungna att l\u00e4gga till f\u00f6ljande kod:<\/p>\n<pre><code class=\"language-php\">if (is_array($foo) || $foo instanceof Countable) {\n    \/\/ $foo is countable\n}<\/code><\/pre>\n<p>Denna RFC f\u00f6resl\u00e5r funktionen <a href=\"https:\/\/wiki.php.net\/rfc\/is-countable\">is_countable()<\/a>, som returnerar sant om den givna variabeln \u00e4r en array eller om det \u00e4r en r\u00e4kningsbar variabel, annars falskt. Koden ovan kan d\u00e5 \u00e4ndras enligt f\u00f6ljande:<\/p>\n<pre><code class=\"language-php\">if (is_countable($foo)) {\n    \/\/ $foo is countable\n}<\/code><\/pre>\n<p>Detta f\u00f6rslag antogs med 23 r\u00f6ster mot 0.<\/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>Ytterligare resurser<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/class.countable.php\">Countable-gr\u00e4nssnittet<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.count.php\">count<\/a><\/li>\n<\/ul>\n<h2 id=\"array-key-first-last\">array_key_first(), array_key_last()<\/h2>\n<p>F\u00f6r n\u00e4rvarande kan vi h\u00e4mta den f\u00f6rsta och sista nyckeln i en array med hj\u00e4lp av funktionerna <a href=\"http:\/\/php.net\/manual\/en\/function.reset.php\">reset()<\/a>, <a href=\"http:\/\/php.net\/manual\/en\/function.end.php\">end()<\/a> och <a href=\"http:\/\/php.net\/manual\/en\/function.key.php\">key()<\/a>. Med dessa funktioner finns det tyv\u00e4rr inget s\u00e4tt att h\u00e4mta det f\u00f6rsta eller sista indexet f\u00f6r en array utan att \u00e4ndra dess interna tillst\u00e5nd. Andra alternativ minskar vanligtvis kodl\u00e4sbarhet och prestanda.<br \/>\nDetta f\u00f6rslag skulle \u00e4ndra detta scenario genom att l\u00e4gga till tv\u00e5 nya funktioner till PHP-k\u00e4rnan:<\/p>\n<ul>\n<li><code>array_key_first()<\/code><\/li>\n<li><code>array_key_last()<\/code><\/li>\n<\/ul>\n<p>Fr\u00e5n och med PHP 7.3 till\u00e5ter <code>array_key_first()<\/code> och <code>array_key_last()<\/code> h\u00e4mtning av den f\u00f6rsta och sista nyckeln i en given array <strong>utan att p\u00e5verka den interna array-pekaren<\/strong>. Dessa nya funktioner skulle g\u00f6ra det m\u00f6jligt f\u00f6r oss att skriva mindre komplex kod och i vissa fall undvika fel. Se <a href=\"https:\/\/wiki.php.net\/rfc\/array_key_first_last\">RFC<\/a> f\u00f6r ytterligare information och flera exempel.<\/p>\n<p><code>array_key_first()<\/code> och <code>array_key_last()<\/code> har godk\u00e4nts med 18 mot 14 r\u00f6ster.<\/p>\n<p>Obs! den ursprungliga RFC f\u00f6reslog ytterligare tv\u00e5 funktioner, <code>array_value_first()<\/code> och <code>array_value_last()<\/code>, som r\u00f6stades om i en annan omr\u00f6stning, men de har inte godk\u00e4nts och kommer inte att bli en del av PHP-k\u00e4rnan.<\/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>Ytterligare resurser<\/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\">F\u00f6rb\u00e4ttringar till Argon2 Password Hash<\/h2>\n<p>Argon2 \u00e4r en hashingalgoritm som <a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-2\/\">implementerades i PHP 7.2<\/a> som ett alternativ till Bcrypt-algoritmen. PHP 7.2 introducerade <code>PASSWORD_ARGON2I<\/code>-konstanten, tillg\u00e4nglig f\u00f6r att anv\u00e4ndas i <code>password_*<\/code>-funktioner:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2I);<\/code><\/pre>\n<p>Sedan dess f\u00f6rsta implementering har en ny variant av Argon2 lagts till, s\u00e5 i skrivande stund kommer Argon2 i tre varianter:<\/p>\n<ul>\n<li><strong>Argon2d<\/strong> maximerar resistens mot GPU cracking-attacker. Det \u00e4r snabbare och anv\u00e4nder data-beroende minnes\u00e5tkomst.<\/li>\n<li><strong>Argon2i<\/strong> anv\u00e4nder data-oberoende minnes\u00e5tkomst, vilket \u00e4r att f\u00f6redra f\u00f6r l\u00f6senord hashing. Det \u00e4r l\u00e5ngsammare eftersom det g\u00f6r fler passeringar \u00f6ver minnet f\u00f6r att skydda mot tradeoff-attacker.<\/li>\n<li><strong>Argon2id<\/strong> \u00e4r en hybridversion som kombinerar Argon2i-tillv\u00e4gag\u00e5ngss\u00e4ttet f\u00f6r f\u00f6rsta passeringen \u00f6ver minnet och Argon2d-tillv\u00e4gag\u00e5ngss\u00e4ttet f\u00f6r efterf\u00f6ljande passeringar.<\/li>\n<\/ul>\n<p>Argon2id rekommenderas p\u00e5 Internet, f\u00f6rutom n\u00e4r det finns goda sk\u00e4l att specifikt f\u00f6redra en annan variant.<\/p>\n<p>Den nya RFC f\u00f6resl\u00e5r inf\u00f6rande av Argon2id inom <a href=\"http:\/\/php.net\/manual\/en\/ref.password.php\">password_*<\/a> -funktioner med den nya <code>PASSWORD_ARGON2ID<\/code>-konstanten:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2ID);<\/code><\/pre>\n<p>Genomf\u00f6randet \u00e4r identiskt med Argon2i-implementeringen och kommer att acceptera samma kostnadsfaktorer:<\/p>\n<ul>\n<li>En <strong>minneskostnad<\/strong> som definierar antalet kb som ska f\u00f6rbrukas under hashing (standardv\u00e4rdena \u00e4r 1&lt;&lt;10, eller 1024 kb, eller 1 mb)<\/li>\n<li>En <strong>tidskostnad<\/strong> som definierar antalet iterationer av hashing-algoritmen (standard 2)<\/li>\n<li>En <strong>parallellismfaktor<\/strong>, som anger antalet parallella tr\u00e5dar som ska anv\u00e4ndas under hashing (standard 2)<\/li>\n<\/ul>\n<p>Se f\u00f6ljande kod:<\/p>\n<pre><code class=\"language-php\">$options = ['memory_cost' =&gt; 1&lt;&lt;11, 'time_cost' =&gt; 4, 'threads' =&gt; 2];\npassword_hash('password', PASSWORD_ARGON2ID, $options);<\/code><\/pre>\n<p>Mer information och exempel p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc\/argon2_password_hash_enhancements\">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\">F\u00f6rb\u00e4ttringar till Argon2 Password Hash<\/a><\/li>\n<\/ul>\n<h4>Ytterligare resurser<\/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\">Avvecklingar<\/h2>\n<p>F\u00f6ljande funktioner kommer att avvecklas med PHP 7.3 och tas bort senast i PHP 8.0.<\/p>\n<h3>Avveckla och ta bort image2wbmp()<\/h3>\n<p>Funktionen <strong>image2wbmp()<\/strong> matar ut eller sparar en <a href=\"https:\/\/en.wikipedia.org\/wiki\/Wireless_Application_Protocol_Bitmap_Format\">WBMP<\/a>-version av en given bild. Den h\u00e4r funktionen kr\u00e4ver tre argument: en bildresurs, ett filnamn (s\u00f6kv\u00e4gen till den sparade filen) och en f\u00f6rgrundsf\u00e4rg.\u00a0Fr\u00e5n och med PHP 5.0 \u00e4r det identiskt med <a href=\"http:\/\/php.net\/manual\/en\/function.imagewbmp.php\">imagewbmp()<\/a>, s\u00e5 denna <a href=\"https:\/\/wiki.php.net\/rfc\/image2wbmp\">RFC<\/a> f\u00f6resl\u00e5r att avveckla och ta bort den.\u00a0Sedan PHP 7.3 skulle varje anrop till <code>image2wbmp()<\/code> visa en avvecklingsvarning. Efter borttagningen skulle varje anrop ge ett allvarligt fel.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/image2wbmp\">Avveckla och ta bort image2wbmp()<\/a><\/li>\n<\/ul>\n<h3>Avveckla och ta bort konstanter som inte \u00e4r skiftl\u00e4gesk\u00e4nsliga<\/h3>\n<p>PHP st\u00f6der f\u00f6r n\u00e4rvarande b\u00e5de skiftl\u00e4gesk\u00e4nsliga och icke-skiftl\u00e4gesk\u00e4nsliga konstanter. <strong>Icke-skiftl\u00e4gesk\u00e4nsliga<\/strong> konstanter st\u00f6ds men anses riskera inkonsekvenser i funktioner och att vara komplexa att anv\u00e4nda.<br \/>\nDetta f\u00f6rslag b\u00f6rjar med f\u00f6ljande f\u00f6ruts\u00e4ttningar:<\/p>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.oop5.constants.php\">klasskonstanter<\/a> \u00e4r alltid skiftl\u00e4gesk\u00e4nsliga<\/li>\n<li>globala konstanter som deklareras med <code>const<\/code> \u00e4r alltid skiftl\u00e4gesk\u00e4nsliga<\/li>\n<li>konstanter som definieras med <code>define()<\/code> \u00e4r skiftl\u00e4gesk\u00e4nsliga som standard<\/li>\n<\/ul>\n<p>Dessutom anger <a href=\"http:\/\/php.net\/manual\/en\/language.constants.php\">PHP Language Reference<\/a> uttryckligen:<\/p>\n<blockquote><p>En konstant \u00e4r skiftl\u00e4gesk\u00e4nslig som standard. Vanligtvis \u00e4r konstantidentifierare alltid i versaler.<\/p><\/blockquote>\n<p>Med detta sagt f\u00f6resl\u00e5r denna RFC f\u00f6ljande \u00e4ndringar:<\/p>\n<ul>\n<li>Avveckla att anropa <code>define()<\/code> med tredje parametern inst\u00e4lld p\u00e5 <code>sant<\/code> \u2013 PHP 7.3<\/li>\n<li>Avveckla \u00e5tkomst till icke-skiftl\u00e4gesk\u00e4nsliga konstanter med ett skiftl\u00e4ge som skiljer sig fr\u00e5n deklarationen (med undantag f\u00f6r <code>sant<\/code>, <code>falskt<\/code> och <code>null<\/code>) \u2013 PHP 7.3<\/li>\n<li>Ta bort m\u00f6jligheten att f\u00f6rklara icke-skiftesk\u00e4nsliga konstanter \u2013 PHP 8.0<\/li>\n<li>Konvertera <code>sant<\/code>, <code>falskt<\/code> och <code>null<\/code> fr\u00e5n konstanter med speciella skiftl\u00e4gen till reserverade s\u00f6kord \u2013 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\">Avveckla och ta bort konstanter som inte \u00e4r skiftl\u00e4gesk\u00e4nsliga<\/a>.<\/p>\n<h3>Ytterligare avvecklingar f\u00f6r PHP 7.3<\/h3>\n<p>H\u00e4r \u00e4r en snabb lista \u00f6ver funktioner som avvecklas i PHP 7.3. Den \u00e4r inte utt\u00f6mmande, de \u00e4r bara de avvecklingsf\u00f6rslag jag personligen anser \u00e4r mest relevanta. F\u00f6r en fullst\u00e4ndig lista \u00f6ver f\u00f6reslagna avvecklingar, se <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3\">Avvecklingar f\u00f6r PHP 7.3<\/a>.<\/p>\n<p><strong>Odokumenterade mbstring-funktionsalias<\/strong>: det finns ett antal odokumenterade <a href=\"http:\/\/php.net\/manual\/en\/book.mbstring.php\">mbstring<\/a>-funktionsalias som \u00e4r dubbletter av likv\u00e4rdiga funktioner med <code>mb_-prefix<\/code>. mbereg \u00e4r till exempel ett alias f\u00f6r <code>mb_ereg<\/code>.<br \/>\nAlla dessa funktioner skulle markeras som avvecklade och ett avvecklingsmeddelande skulle visar n\u00e4r de uppst\u00e5r under kompilering.<\/p>\n<p><strong>Str\u00e4ngs\u00f6kningsfunktioner med heltalsn\u00e5l<\/strong>: dessa funktioner opererar vanligtvis p\u00e5 str\u00e4ngn\u00e5lar. Om en icke-str\u00e4ngn\u00e5l anges konverteras den till ett heltal och till\u00e4mpas som ordningsv\u00e4rdet f\u00f6r ett tecken (L\u00e4s mer i <a href=\"http:\/\/php.net\/manual\/en\/function.strpos.php\">PHP-manualen<\/a>). H\u00e4r \u00e4r <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#string_search_functions_with_integer_needle\">ett exempel fr\u00e5n 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>Detta anses vara f\u00f6rvirrande och orsaka of\u00f6ruts\u00e4gbara problem eftersom typen kan \u00e4ndras med anv\u00e4ndardatans k\u00e4lla. Av denna anledning f\u00f6resl\u00e5r RFC en avvecklingsvarning om en icke-str\u00e4ngn\u00e5l \u00f6verf\u00f6rs till en av f\u00f6ljande 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 ska avvecklingsvarningen tas bort och n\u00e5larna ska automatiskt omvandlas till str\u00e4ngar. <\/p>\n<p><code><strong>fgetss()<\/strong><\/code><strong>-funktionen och <\/strong><code><strong>string.strip_tags<\/strong><\/code><strong>-str\u00f6mfilter<\/strong>:\u00a0<code>fgetss()<\/code> och <code>string.strip_tags<\/code>-striptaggarna formar en str\u00f6m n\u00e4r de l\u00e4ses. B\u00e5de funktionen och filtret exponerar <a href=\"http:\/\/php.net\/manual\/en\/function.strip-tags.php\">strip_tags()<\/a>-funktionaliteten vilket g\u00f6r implementeringen av <code>strip_tags()<\/code> mer komplex, eftersom en str\u00f6mtillst\u00e5ndsmaskin kr\u00e4vs. Dessutom p\u00e5pekar RFC <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#fgetss_function_and_stringstrip_tags_filter\">en annan nackdel<\/a> med dessa funktioner:<\/p>\n<blockquote><p>\u00c5 andra sidan verkar dessa funktioner vara av mycket liten nytta. Sj\u00e4lva <code>strip_tags()<\/code>, p\u00e5 grund av dess begr\u00e4nsningar och k\u00e4nda buggar, har redan mycket f\u00e5 legitima anv\u00e4ndningar. Det finns inget behov av att ge inbyggt st\u00f6d f\u00f6r str\u00f6manv\u00e4ndning ovanp\u00e5 det.<\/p><\/blockquote>\n<p>S\u00e5 RFC f\u00f6resl\u00e5r att markera <code>fgetss()<\/code>, <code>gzgetss()<\/code> och <code>SplFileObject::fgetss()<\/code> som avvecklade.<\/p>\n<h2>Vad betyder PHP 7.3 f\u00f6r WordPress-anv\u00e4ndare?<\/h2>\n<p>Enligt den officiella <a href=\"https:\/\/wordpress.org\/about\/stats\/\">WordPress-statistiksidan<\/a>, har i skrivande stund endast 32,9% av WordPress anv\u00e4ndare uppgraderat till PHP 7 eller h\u00f6gre. Bara 4% anv\u00e4nder <a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-2\/\">PHP 7.2<\/a>. Du kan se att en stor majoritet av anv\u00e4ndarna, \u00f6ver 38%, fortfarande k\u00f6r PHP 5.6. Vad som \u00e4r \u00e4nnu l\u00e4skigare \u00e4r att \u00f6ver 28,5% av anv\u00e4ndarna anv\u00e4nder PHP-versioner som inte l\u00e4ngre st\u00f6ds. I December 2016 h\u00f6jde faktiskt WordPress.org sin <a href=\"https:\/\/wordpress.org\/about\/requirements\/\">officiella rekommendation<\/a> f\u00f6r anv\u00e4ndare fr\u00e5n PHP 5.6 till PHP 7 eller h\u00f6gre.<\/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\/se\/wp-content\/uploads\/sites\/9\/2018\/08\/wordpress-php-versioner.png\" alt=\"WordPress PHP-versioner\" width=\"1404\" height=\"1054\"><figcaption id=\"caption-attachment-31275\" class=\"wp-caption-text\">WordPress PHP-versioner<\/figcaption><\/figure>\n<h3>PHP 7 Prestanda<\/h3>\n<p>Siffrorna ovan \u00e4r s\u00e4rskilt skr\u00e4mmande fr\u00e5n en prestandasynpunkt, eftersom PHP 7 har visat sig vara betydligt snabbare. H\u00e4r \u00e4r lite statistik:<\/p>\n<ul>\n<li>Officiella PHP-<a href=\"http:\/\/talks.php.net\/fluent15#\/wpbench\">riktm\u00e4rken<\/a> visar att PHP 7 till\u00e5ter systemet att utf\u00f6ra dubbelt s\u00e5 m\u00e5nga f\u00f6rfr\u00e5gningar per sekund j\u00e4mf\u00f6rt med PHP 5.6, med n\u00e4stan h\u00e4lften s\u00e5 mycket latens.<\/li>\n<li>Christian Vigh publicerade ocks\u00e5 en <a href=\"https:\/\/www.phpclasses.org\/blog\/post\/493-php-performance-evolution.html\">PHP prestandaj\u00e4mf\u00f6relse<\/a> d\u00e4r han fann att PHP 5.2 var 400% l\u00e5ngsammare \u00e4n PHP 7.<\/li>\n<\/ul>\n<p>Vi k\u00f6rde v\u00e5ra egna <a href=\"https:\/\/kinsta.com\/se\/blog\/php-riktmarkena\/\">PHP prestanda-benchmarks<\/a>. Och liknande resultaten ovan s\u00e5g vi att WordPress 5.0 p\u00e5 PHP 7.3 kunde utf\u00f6ra n\u00e4stan tre g\u00e5nger s\u00e5 m\u00e5nga transaktioner (f\u00f6rfr\u00e5gningar) per sekund j\u00e4mf\u00f6rt med 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=\"wp-image-37393 size-full\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2018\/12\/wordpress-5.0-php-benchmarks-v2-2.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 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress 5.0 PHP 7.0 benchmark-resultat: 206.71 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress 5.0 PHP 7.1 benchmark-resultat: 210.98 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress 5.0 PHP 7.2 benchmark-resultat: 229.18 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress 5.0<strong> PHP 7.3 benchmark-resultat: 253.20 f\u00f6rfr\u00e5gningar\/s\u00a0<\/strong>\ud83c\udfc6<\/li>\n<\/ul>\n<p>Det \u00e4r ocks\u00e5 intressant att notera att WordPress 4.9.8 p\u00e5 PHP 7.3 var n\u00e5got snabbare \u00e4n 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=\"wp-image-37398 size-full\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/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 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress 4.9.8 PHP 7.0 benchmark-resultat: 221.42 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress 4.9.8 PHP 7.1 benchmark-resultat: 233.78 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress 4.9.8 PHP 7.2 benchmark-resultat: 250.36 f\u00f6rfr\u00e5gningar\/s<\/li>\n<li>WordPress\u00a04.9.8\u00a0<strong>PHP 7.3 benchmark-resultat 276.31 f\u00f6rfr\u00e5gningar\/s\u00a0<\/strong>\ud83c\udfc6<\/li>\n<\/ul>\n<p>M\u00e5nga \u00e4r l\u00e5ngsamma att uppdatera helt enkelt p\u00e5 grund av den tid som kr\u00e4vs f\u00f6r att testa alla sina tredjeparts plugins och teman f\u00f6r att s\u00e4kerst\u00e4lla att de fungerar korrekt.\u00a0Men m\u00e5nga g\u00e5nger handlar det om att de helt enkelt inte satt ig\u00e5ng.<\/p>\n<h3>Kontrollera Din PHP-Version<\/h3>\n<p>Inte s\u00e4ker p\u00e5 vilken version av PHP du k\u00f6r? Ett av de enklaste s\u00e4tten att kontrollera \u00e4r att anv\u00e4nda ett verktyg som <a href=\"https:\/\/kinsta.com\/se\/blog\/pingdom-hastighetstestverktyg\/\">Pingdom<\/a> eller Google Chrome Devtools. Den f\u00f6rsta HTTP-rubriken visar vanligtvis versionen.<\/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\/se\/wp-content\/uploads\/sites\/9\/2017\/10\/kontrollera-php-version-1.png\" alt=\"Kontrollera PHP-version\" width=\"1679\" height=\"644\"><figcaption id=\"caption-attachment-13685\" class=\"wp-caption-text\">Kontrollera PHP-version<\/figcaption><\/figure>\n<p>Detta bygger p\u00e5 att v\u00e4rden inte \u00e4ndrar <code>X-Powered<\/code>-By-rubrikv\u00e4rdet. Om de g\u00f6r det kanske du inte ser din PHP-version. I s\u00e5 fall kan du installera ett gratis plugin som <a href=\"https:\/\/wordpress.org\/plugins\/version-info\/\">Version Info<\/a> som visar dig grundl\u00e4ggande serverinformation i sidfoten p\u00e5 din WordPress-panel.<\/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\/se\/wp-content\/uploads\/sites\/9\/2018\/08\/kontrollera-php-versionen-wordpress.png\" alt=\"Kontrollera PHP-versionen i WordPress\" width=\"1942\" height=\"1038\"><figcaption id=\"caption-attachment-37448\" class=\"wp-caption-text\">Kontrollera PHP-versionen i WordPress<\/figcaption><\/figure>\n<p>Alternativt kan du ocks\u00e5 <a href=\"https:\/\/kinsta.com\/se\/blog\/php-versioner\/\">ladda upp en fil via FTP<\/a> f\u00f6r att se din PHP-version, eller ta kontakt med din v\u00e4rd och fr\u00e5ga.<\/p>\n<h3>Uppdatering till PHP 7.3<\/h3>\n<p>Den slutliga versionen av PHP 7.3 \u00e4r h\u00e4r och du kan b\u00f6rja testa den direkt.\u00a0Du kan <a href=\"https:\/\/kinsta.com\/se\/blog\/installerar-wordpress-lokalt\/\">testa din WordPresswebbplats lokalt<\/a> eller kontrollera dina skript i en milj\u00f6 som <a href=\"https:\/\/docs.docker.com\/get-started\/\">Docker<\/a>, som l\u00e5ter dig testa olika versioner av PHP fr\u00e5n kommandoraden.<\/p>\n<p>Annars kan du anv\u00e4nda en stagingmilj\u00f6 p\u00e5 Kinsta, eftersom detta kommer att likna en live-produktionsplats mycket mer. Skapa en <a href=\"https:\/\/kinsta.com\/docs\/wordpress-hosting\/staging-environment\/\">stagingmilj\u00f6<\/a> med n\u00e5gra enkla klick i MyKinsta-panelen.<\/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\/se\/wp-content\/uploads\/sites\/9\/2018\/10\/wordpress-stagingmiljo-1-1.png\" alt=\"WordPress stagingmilj\u00f6\" width=\"1670\" height=\"735\"><figcaption id=\"caption-attachment-34566\" class=\"wp-caption-text\">WordPress stagingmilj\u00f6<\/figcaption><\/figure>\n<p>Vi rekommenderar alltid att du testar noggrant innan du anv\u00e4nder det p\u00e5 en produktionswebbplats. F\u00f6r att g\u00f6ra det kan du helt enkelt \u00e4ndra PHP-motorn f\u00f6r staging-webbplatsen under &#8221;Verktyg&#8221; och du kan b\u00f6rja testa f\u00f6r att s\u00e4kerst\u00e4lla kompatibiliteten hos dina tredjeparts plugin och teman.<\/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\/se\/wp-content\/uploads\/sites\/9\/2018\/12\/byt-till-php-7.3.png\" alt=\"Byt till PHP 7.3\" width=\"1546\" height=\"878\"><figcaption id=\"caption-attachment-37422\" class=\"wp-caption-text\">Byt till PHP 7.3<\/figcaption><\/figure>\n<p>N\u00e4r du har bekr\u00e4ftat allt fungerar kan du antingen \u00e4ndra din produktionswebbplats till PHP 7.3 eller om du har gjort n\u00e5gra \u00e4ndringar, <a href=\"https:\/\/kinsta.com\/docs\/wordpress-hosting\/staging-environment\/#push-staging-to-live-1\">tryck ocks\u00e5 p\u00e5 att ta din staging-webbplats live<\/a>.<\/p>\n<h2>Sammanfattning<\/h2>\n<p>Den senaste och b\u00e4sta versionen av PHP \u00e4r h\u00e4r. Den ger oss g\u00e5vor som flexibla heredocs och nowdocs, avslutande kommatecken i funktionssamtal, <code>list()<\/code> referenstilldelning och mer. I det h\u00e4r inl\u00e4gget har vi gett dig en \u00f6versikt \u00f6ver v\u00e5ra favoritf\u00f6rb\u00e4ttringar och f\u00f6r\u00e4ndringar, men vi skulle ocks\u00e5 vilja veta vilka dina favoriter \u00e4r, och p\u00e5 vilka s\u00e4tt du kommer utnyttja dem. L\u00e5t oss veta i kommentarerna nedan! Och gl\u00f6m inte bort att <a href=\"https:\/\/kinsta.com\/se\/blog\/ar-php-dott\/\">PHP inte \u00e4r d\u00f6tt<\/a>!<\/p>\n\n<p>Du hittar den fullst\u00e4ndiga listan \u00f6ver PHP 7.3-f\u00f6rslag p\u00e5 <a href=\"https:\/\/wiki.php.net\/rfc#php_73\">Beg\u00e4ran om kommentarer<\/a>-sidan och GitHubs <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING\">PHP 7.3 Uppgraderingsanteckningar<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fr\u00e5n och med 6 December 2018, \u00e4r den senaste och b\u00e4sta versionen, PHP 7.3 \u00e4r h\u00e4r! Med det kommer nya anv\u00e4ndbara funktioner, avvecklingar, ett bra antal &#8230;<\/p>\n","protected":false},"author":36,"featured_media":31272,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[38,42],"topic":[],"class_list":["post-31263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-php","tag-webdev"],"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>Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)<\/title>\n<meta name=\"description\" content=\"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt 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\/se\/blog\/php-7-3\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)\" \/>\n<meta property=\"og:description\" content=\"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.3\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstasweden\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-14T14:53:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-29T12:09:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/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:title\" content=\"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)\" \/>\n<meta name=\"twitter:description\" content=\"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.3\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png\" \/>\n<meta name=\"twitter:creator\" content=\"@carlodaniele\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_se\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Daniele\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)\",\"datePublished\":\"2019-10-14T14:53:48+00:00\",\"dateModified\":\"2022-12-29T12:09:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/\"},\"wordCount\":3662,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/se\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png\",\"keywords\":[\"php\",\"webdev\"],\"articleSection\":[\"WordPress-utveckling\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/\",\"url\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/\",\"name\":\"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/se\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png\",\"datePublished\":\"2019-10-14T14:53:48+00:00\",\"dateModified\":\"2022-12-29T12:09:01+00:00\",\"description\":\"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.3\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png\",\"contentUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png\",\"width\":1460,\"height\":730,\"caption\":\"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/se\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/se\/#website\",\"url\":\"https:\/\/kinsta.com\/se\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snabba, s\u00e4kra, premium hosting-l\u00f6sningar\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/se\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/se\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/se\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/se\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstasweden\/\",\"https:\/\/x.com\/kinsta_se\",\"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\/se\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\",\"name\":\"Carlo Daniele\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/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\/se\/blog\/author\/carlodaniele\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)","description":"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt 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\/se\/blog\/php-7-3\/","og_locale":"sv_SE","og_type":"article","og_title":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)","og_description":"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.3","og_url":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstasweden\/","article_published_time":"2019-10-14T14:53:48+00:00","article_modified_time":"2022-12-29T12:09:01+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_title":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)","twitter_description":"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.3","twitter_image":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png","twitter_creator":"@carlodaniele","twitter_site":"@kinsta_se","twitter_misc":{"Skriven av":"Carlo Daniele","Ber\u00e4knad l\u00e4stid":"20 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/se\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)","datePublished":"2019-10-14T14:53:48+00:00","dateModified":"2022-12-29T12:09:01+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/"},"wordCount":3662,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/se\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png","keywords":["php","webdev"],"articleSection":["WordPress-utveckling"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/se\/blog\/php-7-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/","url":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/","name":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)","isPartOf":{"@id":"https:\/\/kinsta.com\/se\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png","datePublished":"2019-10-14T14:53:48+00:00","dateModified":"2022-12-29T12:09:01+00:00","description":"PHP 7.3 \u00e4r h\u00e4r och med det kommer nya funktioner, avvecklingar, bugfixar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.3","breadcrumb":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/se\/blog\/php-7-3\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#primaryimage","url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png","contentUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/10\/php-7-3.png","width":1460,"height":730,"caption":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/se\/"},{"@type":"ListItem","position":2,"name":"Vad \u00e4r Nytt i PHP 7.3 (Nu Tillg\u00e4ngligt p\u00e5 Kinsta)"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/se\/#website","url":"https:\/\/kinsta.com\/se\/","name":"Kinsta\u00ae","description":"Snabba, s\u00e4kra, premium hosting-l\u00f6sningar","publisher":{"@id":"https:\/\/kinsta.com\/se\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/se\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/se\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/se\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/se\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstasweden\/","https:\/\/x.com\/kinsta_se","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\/se\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63","name":"Carlo Daniele","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinsta.com\/se\/#\/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\/se\/blog\/author\/carlodaniele\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/31263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/comments?post=31263"}],"version-history":[{"count":12,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/31263\/revisions"}],"predecessor-version":[{"id":48271,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/31263\/revisions\/48271"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/en"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/es"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/it"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/fr"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/se"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/pt"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/jp"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/translations\/dk"},{"href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/31263\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/media\/31272"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/media?parent=31263"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/tags?post=31263"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/topic?post=31263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}