{"id":30695,"date":"2019-09-12T06:09:39","date_gmt":"2019-09-12T13:09:39","guid":{"rendered":"https:\/\/kinsta.com\/?p=46699"},"modified":"2022-12-29T12:13:07","modified_gmt":"2022-12-29T12:13:07","slug":"php-7-4","status":"publish","type":"post","link":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/","title":{"rendered":"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)"},"content":{"rendered":"<p>PHP 7.4, n\u00e4sta mindre utg\u00e5va av PHP 7 sl\u00e4pptes f\u00f6r allm\u00e4n tillg\u00e4nglighet 28 November 2019. S\u00e5 det \u00e4r dags f\u00f6r oss att dyka in i n\u00e5gra av de mest sp\u00e4nnande till\u00e4ggen och nya funktioner som kommer att ha gjort PHP snabbare och mer tillf\u00f6rlitligt.<\/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.4 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>\u00c4ven om PHP 7.4 v\u00e4sentligt \u00f6kar prestanda och f\u00f6rb\u00e4ttrar kodl\u00e4sbarheten, kommer <a href=\"https:\/\/kinsta.com\/se\/blog\/php-8\/\">PHP 8<\/a> att vara den verkliga milstolpen f\u00f6r PHP-prestanda, eftersom f\u00f6rslaget till <a href=\"https:\/\/wiki.php.net\/rfc\/jit\">JIT-inkludering<\/a> redan har godk\u00e4nts.<\/p>\n<p>Hur som helst, idag g\u00e5r vi igenom n\u00e5gra av de mest intressanta funktionerna och f\u00f6r\u00e4ndringarna vi kan f\u00f6rv\u00e4nta oss fr\u00e5n PHP 7.4. S\u00e5, innan du l\u00e4ser det h\u00e4r inl\u00e4gget, se till att spara f\u00f6ljande datum:<\/p>\n<ul>\n<li>6 juni, 2019: PHP 7.4 Alpha 1<\/li>\n<li>18 juli, 2019: PHP 7.4 Beta 1 &#8211; Funktionsfrysning<\/li>\n<li>28 november, 2019: PHP 7.4 Allm\u00e4nt sl\u00e4pp<\/li>\n<\/ul>\n<p>Du kan kolla in den fullst\u00e4ndiga listan \u00f6ver funktioner och till\u00e4gg p\u00e5 den <a href=\"https:\/\/wiki.php.net\/rfc#php_74\">officiella RFC-sidan<\/a>.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Vad \u00e4r nytt i PHP med PHP 7.4?<\/h2>\n<p>I det h\u00e4r inl\u00e4gget t\u00e4cker vi flera \u00e4ndringar och funktioner som borde l\u00e4ggas till spr\u00e5ket f\u00f6r den slutliga utg\u00e5van av PHP 7.4:<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"disc\" selector=\"h3\" count-number=\"9\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<h3 id=\"array-spread-operator\">Gl\u00f6m array_merge: PHP 7.4 tar in Spread Operator i array-uttryck<\/h3>\n<p>Tillg\u00e4nglig sedan PHP 5.6; <a href=\"https:\/\/wiki.php.net\/rfc\/argument_unpacking\">argument-uppackning<\/a> \u00e4r en syntax f\u00f6r uppackning av arrayer och <a href=\"https:\/\/www.php.net\/manual\/en\/class.traversable.php\">Traversables<\/a> i argumentlistor. F\u00f6r att packa upp en array eller en Traversable m\u00e5ste den f\u00f6rberedas med &#8230; (3 punkter), som visas i f\u00f6ljande exempel:<\/p>\n<pre><code class=\"language-php\">function test(...$args) { var_dump($args); }\ntest(1, 2, 3);<\/code><\/pre>\n<p>Nu f\u00f6resl\u00e5r <a href=\"https:\/\/wiki.php.net\/rfc\/spread_operator_for_array\">denna PHP 7.4 RFC<\/a> att ut\u00f6ka denna funktion till array-definitioner:<\/p>\n<pre><code class=\"language-php\">$arr = [...$args];<\/code><\/pre>\n<p>Den f\u00f6rsta uttalade f\u00f6rdelen med <strong>Spread Operator i array-uttryck<\/strong> handlar om prestanda. I sj\u00e4lva verket <a href=\"https:\/\/wiki.php.net\/rfc\/spread_operator_for_array\">s\u00e4ger RFC-dokumentet<\/a>:<\/p>\n<blockquote><p>Spread Operator b\u00f6r ha b\u00e4ttre prestanda \u00e4n <code>array_merge.<\/code> Det \u00e4r inte bara f\u00f6r att spread operatorn \u00e4r en spr\u00e5kstruktur medan <code>array_merge<\/code> \u00e4r en funktion, men ocks\u00e5 f\u00f6r att kompilerad tidsoptimering kan vara performant f\u00f6r konstanta arrayer.<\/p><\/blockquote>\n<p>En betydande f\u00f6rdel med Spread operator \u00e4r att den st\u00f6der alla f\u00f6rflyttbara objekt, medan <code>array_merge<\/code>-funktionen endast st\u00f6der arrayer.<\/p>\n<p>H\u00e4r \u00e4r ett exempel p\u00e5 argument-uppackning i array-uttryck:<\/p>\n<pre><code class=\"language-php\">$parts = ['apple', 'pear'];\n$fruits = ['banana', 'orange', ...$parts, 'watermelon'];\nvar_dump($fruits);<\/code><\/pre>\n<p>Om du k\u00f6r den h\u00e4r koden i PHP 7.3 eller tidigare, ger PHP ett Parse-fel:<\/p>\n<pre><code class=\"language-php\">Parse error: syntax error, unexpected '...' (T_ELLIPSIS), expecting ']' in \/app\/spread-operator.php on line 3<\/code><\/pre>\n<p>Ist\u00e4llet skulle PHP 7.4 returnera en array:<\/p>\n<pre><code class=\"language-php\">array(5) {\n\t[0]=&gt;\n\tstring(6) \"banana\"\n\t[1]=&gt;\n\tstring(6) \"orange\"\n\t[2]=&gt;\n\tstring(5) \"apple\"\n\t[3]=&gt;\n\tstring(4) \"pear\"\n\t[4]=&gt;\n\tstring(10) \"watermelon\"\n}<\/code><\/pre>\n<p>RFC s\u00e4ger att vi kan expandera samma array flera g\u00e5nger. Dessutom kan vi anv\u00e4nda Spread Operator syntax \u00f6verallt i arrayen, eftersom normala element kan l\u00e4ggas till f\u00f6re eller efter spread operator. S\u00e5 f\u00f6ljande kod kommer att fungera som vi kan f\u00f6rv\u00e4nta oss:<\/p>\n<pre><code class=\"language-php\">$arr1 = [1, 2, 3];\n$arr2 = [4, 5, 6];\n$arr3 = [...$arr1, ...$arr2];\n$arr4 = [...$arr1, ...$arr3, 7, 8, 9];<\/code><\/pre>\n<p>Det \u00e4r ocks\u00e5 m\u00f6jligt att packa upp arrayer som returneras av en funktion direkt i en ny array:<\/p>\n<pre><code class=\"language-php\">function buildArray(){\n\treturn ['red', 'green', 'blue'];\n}\n$arr1 = [...buildArray(), 'pink', 'violet', 'yellow'];<\/code><\/pre>\n<p>PHP 7.4 matar ut f\u00f6ljande array:<\/p>\n<pre><code class=\"language-php\">array(6) {\n\t[0]=&gt;\n\tstring(3) \"red\"\n\t[1]=&gt;\n\tstring(5) \"green\"\n\t[2]=&gt;\n\tstring(4) \"blue\"\n\t[3]=&gt;\n\tstring(4) \"pink\"\n\t[4]=&gt;\n\tstring(6) \"violet\"\n\t[5]=&gt;\n\tstring(6) \"yellow\"\n}<\/code><\/pre>\n<p>Vi kan ocks\u00e5 anv\u00e4nda <a href=\"https:\/\/www.php.net\/manual\/en\/language.generators.syntax.php\">generatorsyntaxen<\/a>:<\/p>\n<pre><code class=\"language-php\">function generator() {\n\tfor ($i = 3; $i &lt;= 5; $i++) {\n\t\tyield $i;\n\t}\n}\n$arr1 = [0, 1, 2, ...generator()];<\/code><\/pre>\n<p>Men vi f\u00e5r inte packa upp arrays som skickas som referens. \u00d6verv\u00e4g f\u00f6ljande exempel:<\/p>\n<pre><code class=\"language-php\">$arr1 = ['red', 'green', 'blue'];\n$arr2 = [...&$arr1];<\/code><\/pre>\n<p>Om vi skulle f\u00f6rs\u00f6ka packa upp en array genom referens, ger PHP f\u00f6ljande Parse-fel:<\/p>\n<pre><code class=\"language-php\">Parse error: syntax error, unexpected '&' in \/app\/spread-operator.php on line 3<\/code><\/pre>\n<p>Hur som helst, om elementen i den f\u00f6rsta arrayen lagras som referens, lagras de ocks\u00e5 som referens i den andra arrayen. H\u00e4r \u00e4r ett exempel:<\/p>\n<pre><code class=\"language-php\">$arr0 = 'red';\n$arr1 = [&$arr0, 'green', 'blue'];\n$arr2 = ['white', ...$arr1, 'black'];<\/code><\/pre>\n<p>Och h\u00e4r \u00e4r vad vi f\u00e5r med PHP 7.4:<\/p>\n<pre><code>array(5) {\n\t[0]=&gt;\n\tstring(5) \"white\"\n\t[1]=&gt;\n\t<strong>&string(3) \"red\"<\/strong>\n\t[2]=&gt;\n\tstring(5) \"green\"\n\t[3]=&gt;\n\tstring(4) \"blue\"\n\t[4]=&gt;\n\tstring(5) \"black\"\n}<\/code><\/pre>\n<p>F\u00f6rslaget om Spread Operator antogs med 43-1 r\u00f6ster.<\/p>\n<h3 id=\"arrow-functions\">Pilfunktioner 2.0 (Korta st\u00e4ngningar)<\/h3>\n<p>I PHP anses <a href=\"https:\/\/www.php.net\/manual\/en\/functions.anonymous.php\">anonyma funktioner<\/a> vara ganska omst\u00e4ndliga och sv\u00e5ra att genomf\u00f6ra och underh\u00e5lla.\u00a0<a href=\"https:\/\/wiki.php.net\/rfc\/arrow_functions_v2\">Denna RFC<\/a> f\u00f6resl\u00e5r inf\u00f6randet av kortare och tydligare syntax av <strong>pilfunktionerna<\/strong> (eller korta st\u00e4ngningar), som b\u00f6r g\u00f6ra det m\u00f6jligt f\u00f6r oss att rensa upp betydligt i v\u00e5r PHP-kod.<\/p>\n<p>\u00d6verv\u00e4g f\u00f6ljande exempel:<\/p>\n<pre><code class=\"language-php\">function cube($n){\n\treturn ($n * $n * $n);\n}\n$a = [1, 2, 3, 4, 5];\n$b = array_map('cube', $a);\nprint_r($b);<\/code><\/pre>\n<p>PHP 7.4 g\u00f6r det m\u00f6jligt att anv\u00e4nda en mer kortfattad syntax, och funktionen ovan kan skrivas om enligt f\u00f6ljande:<\/p>\n<pre><code class=\"language-php\">$a = [1, 2, 3, 4, 5];\n$b = array_map(fn($n) =&gt; $n * $n * $n, $a);\nprint_r($b);<\/code><\/pre>\n<p>F\u00f6r n\u00e4rvarande kan <a href=\"https:\/\/www.php.net\/manual\/en\/functions.anonymous.php\">anonyma funktioner<\/a> (st\u00e4ngningar) \u00e4rva variabler som definieras i den \u00f6verordnade omfattningen tack vare spr\u00e5kkonstruktionen <code>use<\/code>, som visas nedan:<\/p>\n<pre><code class=\"language-php\">$factor = 10;\n$calc = function($num) use($factor){\n\treturn $num * $factor;\n};<\/code><\/pre>\n<p>Men med PHP 7.4, f\u00e5ngas variabler som definieras i den \u00f6verordnade omfattningen <strong>implicit av v\u00e4rde<\/strong> (implicit av-v\u00e4rde scopebindning). S\u00e5 vi kan skriva hela funktionen som ses ovan p\u00e5 en enda rad:<\/p>\n<pre><code class=\"language-php\">$factor = 10;\n$calc = fn($num) =&gt; $num * $factor;<\/code><\/pre>\n<p>Variabeln som definieras i den \u00f6verordnade omfattningen kan anv\u00e4ndas i pilfunktionen precis som om vi anv\u00e4nde <code class=\"language-php\">use($var)<\/code>,\u00a0och det \u00e4r inte m\u00f6jligt att \u00e4ndra en variabel fr\u00e5n den \u00f6verordnad omfattningen.<\/p>\n<p>Den nya syntaxen \u00e4r en stor f\u00f6rb\u00e4ttring av spr\u00e5ket eftersom det till\u00e5ter oss att bygga mer l\u00e4sbar och underh\u00e5llbar kod. Vi kan ocks\u00e5 anv\u00e4nda <a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-2\/\">parametrar och return-typer<\/a>, standardv\u00e4rden, variabell\u00e4ngdsargumentlistor (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Variadic_function\">variadiska funktioner<\/a>), vi kan skicka och returnera via referens etc. Slutligen kan korta st\u00e4ngningar ocks\u00e5 anv\u00e4ndas i klassmetoder, och de kan anv\u00e4nda sig av <code>$this<\/code>-variabeln precis som vanliga st\u00e4ngningar.<\/p>\n<p>Denna RFC har godk\u00e4nts med 51 mot 8 r\u00f6ster, s\u00e5 vi kan f\u00f6rv\u00e4nta oss att det kommer vara en del av till\u00e4ggen till PHP-7.4.<\/p>\n<h3 id=\"nulled-coalesce-assign-operator\">Null Coalescing Tilldelningsoperator<\/h3>\n<p>Tillagd med PHP 7, <a href=\"https:\/\/www.php.net\/manual\/en\/migration70.new-features.php#migration70.new-features.null-coalesce-op\">coalesce-operatorn<\/a> <code>(??)<\/code> kommer v\u00e4l till pass n\u00e4r vi beh\u00f6ver anv\u00e4nda en tern\u00e4r operator i samband med <code>isset()<\/code>. Den returnerar den f\u00f6rsta operanden om den finns och inte \u00e4r <code>NULL<\/code>. Annars returnerar den andra operanden. H\u00e4r \u00e4r ett exempel:<\/p>\n<pre><code class=\"language-php\">$username = $_GET['user'] ?? 'nobody';<\/code><\/pre>\n<p>Vad den h\u00e4r koden g\u00f6r \u00e4r ganska enkelt: <strong>den h\u00e4mtar f\u00f6rfr\u00e5gningsparametern och st\u00e4ller in ett standardv\u00e4rde om den inte finns<\/strong>. Betydelsen av den raden \u00e4r tydlig, men vad h\u00e4nder om vi hade mycket l\u00e4ngre variabelnamn som i det h\u00e4r exemplet fr\u00e5n RFC?<\/p>\n<pre><code class=\"language-php\">$this-&gt;request-&gt;data['comments']['user_id'] = $this-&gt;request-&gt;data['comments']['user_id'] ?? 'value';<\/code><\/pre>\n<p>P\u00e5 l\u00e5ng sikt kan denna kod vara lite sv\u00e5r att underh\u00e5lla. S\u00e5, med syfte att hj\u00e4lpa utvecklare att skriva mer intuitiv kod, f\u00f6resl\u00e5r <a href=\"https:\/\/wiki.php.net\/rfc\/null_coalesce_equal_operator\">denna RFC<\/a> inf\u00f6randet av <strong>null coalescing tilldelningsoperator<\/strong><code> (??=<\/code>). S\u00e5 ist\u00e4llet f\u00f6r att skriva den tidigare koden kan vi skriva f\u00f6ljande:<\/p>\n<pre><code class=\"language-php\">$this-&gt;request-&gt;data['comments']['user_id'] ??= 'value';<\/code><\/pre>\n<p>Om v\u00e4rdet p\u00e5 den v\u00e4nstra parametern \u00e4r <code>null<\/code>, anv\u00e4nds v\u00e4rdet p\u00e5 den h\u00f6gra parametern.<br \/>\nObservera att medan coalesce-operatorn \u00e4r en j\u00e4mf\u00f6relseoperator, \u00e4r <code>??=<\/code> en tilldelningsoperator.<\/p>\n<p>Detta f\u00f6rslag har godk\u00e4nts med 37 mot 4 r\u00f6ster.<\/p>\n<h3 id=\"typed-properties\">Typade Egenskaper 2.0<\/h3>\n<p>Argumenttyp-deklarationer, eller type hints, g\u00f6r det m\u00f6jligt att ange vilken typ av variabel som f\u00f6rv\u00e4ntas \u00f6verf\u00f6ras till en funktion eller en klassmetod. Type hints \u00e4r en funktion som \u00e4r tillg\u00e4nglig sedan PHP 5, och sedan <a href=\"https:\/\/kinsta.com\/se\/blog\/php-7-2\/\">PHP 7.2<\/a> kan vi anv\u00e4nda dem med <code>objekt<\/code>-datatypen. Nu f\u00f6r PHP 7.4 type hinting ett steg fram\u00e5t genom att l\u00e4gga till st\u00f6d f\u00f6r <a href=\"https:\/\/wiki.php.net\/rfc\/typed_properties_v2\">f\u00f6rsta klassens egenskapstyp-deklarationer<\/a>. H\u00e4r \u00e4r ett mycket grundl\u00e4ggande exempel:<\/p>\n<pre><code class=\"language-php\">class User {\n\tpublic int $id;\n\tpublic string $name;\n}<\/code><\/pre>\n<p>Alla typer st\u00f6ds, med undantag f\u00f6 <code>void<\/code> och\u00a0<code>callable<\/code>:<\/p>\n<pre><code class=\"language-php\">public int $scalarType;\nprotected ClassName $classType;\nprivate ?ClassName $nullableClassType;<\/code><\/pre>\n<p>RFC f\u00f6rklarar anledningen till att <code>void<\/code> och <code>callable<\/code> inte st\u00f6ds:<\/p>\n<blockquote><p>Void-typen st\u00f6ds inte, eftersom den inte \u00e4r anv\u00e4ndbar och har oklar semantik.<\/p>\n<p>Callable-typen st\u00f6ds inte, eftersom dess beteende \u00e4r kontextberoende.<\/p><\/blockquote>\n<p>S\u00e5 kan vi s\u00e4kert anv\u00e4nda <code>bool<\/code>,\u00a0<code>int<\/code>,\u00a0<code>float<\/code>,\u00a0<code>string<\/code>,\u00a0<code>array<\/code>,\u00a0<code>object<\/code>,\u00a0<code>iterable<\/code>,\u00a0<code>self<\/code>,\u00a0<code>parent<\/code>, alla klass eller gr\u00e4nssnittsnamn, och <a href=\"https:\/\/kinsta.com\/blog\/php-7-1-0\/#nullable-types\">ogiltiga<\/a>\u00a0<a href=\"https:\/\/php.net\/manual\/en\/migration71.new-features.php\">typer<\/a>\u00a0<code>(?type)<\/code>.<\/p>\n<p>Typer kan anv\u00e4ndas p\u00e5 statiska egenskaper:<\/p>\n<pre><code class=\"language-php\">public static iterable $staticProp;<\/code><\/pre>\n<p>De \u00e4r ocks\u00e5 till\u00e5tna med <code>var<\/code> notation:<\/p>\n<pre><code class=\"language-php\">var bool $flag;<\/code><\/pre>\n<p>Det \u00e4r m\u00f6jligt att st\u00e4lla in standardegenskapsv\u00e4rden, vilka naturligtvis m\u00e5ste matcha den deklarerade egenskapstypen, men endast ogiltiga egenskaper kan ha ett standard <code>null<\/code>-v\u00e4rde:<\/p>\n<pre><code class=\"language-php\">public string $str = \"foo\";\npublic ?string $nullableStr = null;<\/code><\/pre>\n<p>Samma typ g\u00e4ller f\u00f6r alla egenskaper i en enda deklaration:<\/p>\n<pre><code class=\"language-php\">public float $x, $y;<\/code><\/pre>\n<p>Vad h\u00e4nder om vi g\u00f6r ett fel p\u00e5 egenskapstypen? Betrakta f\u00f6ljande kod:<\/p>\n<pre><code class=\"language-php\">class User {\n\tpublic int $id;\n\tpublic string $name;\n}\n\n$user = new User;\n$user-&gt;id = 10;\n$user-&gt;name = [];<\/code><\/pre>\n<p>I koden ovan deklarerade vi en string-egenskapstyp, men vi anger en array som egenskapsv\u00e4rde. I ett s\u00e5dant scenario f\u00e5r vi f\u00f6ljande Allvarliga fel:<\/p>\n<pre><code class=\"language-php\">Fatal error: Uncaught TypeError: Typed property User::$name must be string, array used in \/app\/types.php:9<\/code><\/pre>\n<p>Denna RFC har godk\u00e4nts med 70 mot 1 r\u00f6ster.<\/p>\n\n<h3 id=\"weakreferences\">WeakReferences<\/h3>\n<p>Med <a href=\"https:\/\/wiki.php.net\/rfc\/weakrefs\">denna RFC<\/a> introducerar PHP 7.4 <a href=\"https:\/\/www.php.net\/manual\/en\/class.weakreference.php\">WeakReference<\/a>-klassen, vilket g\u00f6r det m\u00f6jligt f\u00f6r programmerare att beh\u00e5lla en referens till ett objekt som inte hindrar sj\u00e4lva objektet fr\u00e5n att f\u00f6rst\u00f6ras.<\/p>\n<p>F\u00f6r n\u00e4rvarande st\u00f6der PHP Weak References genom att anv\u00e4nda ett till\u00e4gg som pecl-weakref. Hur som helst, det nya API:t skiljer sig fr\u00e5n den dokumenterade <code>WeakRef<\/code> -klassen.<\/p>\n<p>H\u00e4r \u00e4r <a href=\"https:\/\/www.slideshare.net\/nikita_ppv\/typed-properties-and-more-whats-coming-in-php-74\">ett exempel fr\u00e5n f\u00f6rfattaren<\/a> till detta f\u00f6rslag, Nikita Popov:<\/p>\n<pre><code class=\"language-php\">$object = new stdClass;\n$weakRef = WeakReference::create($object);\n\nvar_dump($weakRef-&gt;get());\nunset($object);\nvar_dump($weakRef-&gt;get());<\/code><\/pre>\n<p>Den f\u00f6rsta<code>var_dump<\/code> skriver ut <code class=\"language-php\">object(stdClass)#1 (0) {}<\/code>,\u00a0medan den andra <code>var_dump<\/code> skriver u\u00a0<code>NULL<\/code>,\u00a0eftersom det refererade objektet har f\u00f6rst\u00f6rts.<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Slides for my PHP 7.4 talk at <a href=\"https:\/\/twitter.com\/hashtag\/PHPRussia2019?src=hash&amp;ref_src=twsrc%5Etfw\">#PHPRussia2019<\/a>. Was a great conference!<a href=\"https:\/\/t.co\/zLr9Bj2aKl\">https:\/\/t.co\/zLr9Bj2aKl<\/a><\/p>\n<p>&mdash; Nikita Popov (@nikita_ppv) <a href=\"https:\/\/twitter.com\/nikita_ppv\/status\/1130188147940352000?ref_src=twsrc%5Etfw\">May 19, 2019<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>Denna RFC godk\u00e4ndes med 28 mot 5 r\u00f6ster.<\/p>\n<h3 id=\"covariant-return-types-contravariant-parameters\">Covariant Returer och Contravariant Parametrar<\/h3>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Covariance_and_contravariance_(computer_science)\">Varians<\/a> \u00e4r en egenskap hos klasshierarkier som beskriver hur typerna av en typkonstrukt\u00f6r p\u00e5verkar <a href=\"https:\/\/en.wikipedia.org\/wiki\/Subtyping\">undertyper<\/a>. I allm\u00e4nhet kan en typkonstrukt\u00f6r vara:<\/p>\n<ul>\n<li><strong>Invariant<\/strong>: om typen av supertypen begr\u00e4nsar typen av subtypen.<\/li>\n<li><strong>Covariant<\/strong>: om ordning av typer bevaras (typer ordnas fr\u00e5n mer specifika till mer generiska).<\/li>\n<li><strong>Contravariant<\/strong>: om det v\u00e4nder ordningen (typer ordnas fr\u00e5n mer generisk till mer specifik).<\/li>\n<\/ul>\n<p>F\u00f6r n\u00e4rvarande har PHP mestadels invarianta parameter och returtyper, med f\u00e5 undantag. Denna RFC f\u00f6resl\u00e5r att till\u00e5ta covariance och contravariance p\u00e5 parametertyper och returtyper, och ger ocks\u00e5 flera exempel p\u00e5 kod.<\/p>\n<p>H\u00e4r \u00e4r ett exempel p\u00e5 <strong>covariant returtyp<\/strong>:<\/p>\n<pre><code class=\"language-php\">interface Factory {\n\tfunction make(): object;\n}\n\nclass UserFactory implements Factory {\n\tfunction make(): User;\n}<\/code><\/pre>\n<p>Och h\u00e4r \u00e4r ett exempel p\u00e5 <strong>contravariant parametertyp<\/strong>:<\/p>\n<pre><code class=\"language-php\">interface Concatable {\n\tfunction concat(Iterator $input); \n}\n \nclass Collection implements Concatable {\n\t\/\/ accepts all iterables, not just Iterator\n\tfunction concat(iterable $input) {\/* . . . *\/}\n}<\/code><\/pre>\n<p>Se <a href=\"https:\/\/wiki.php.net\/rfc\/covariant-returns-and-contravariant-parameters\">RFC<\/a> f\u00f6r en n\u00e4rmare titt p\u00e5 covariance och contravariance i PHP 7.4.<\/p>\n<p>Denna RFC godk\u00e4ndes med 39 mot 1 r\u00f6ster.<\/p>\n<h3 id=\"preloading\">Preloading<\/h3>\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/preload\">Detta f\u00f6rslag<\/a> fr\u00e5n Dmitry Stogov \u00e4r en av v\u00e5ra favoriter eftersom det borde ge en betydande \u00f6kning av prestanda. <strong>Preloading <\/strong>\u00e4r processen att ladda bibliotek och ramar i <a href=\"https:\/\/www.php.net\/manual\/en\/book.opcache.php\">OPCache<\/a> vid modulinitiering (L\u00e4s mer om <a href=\"http:\/\/www.phpinternalsbook.com\/php7\/extensions_design\/php_lifecycle.html\">PHP livscykel<\/a>).<\/p>\n<figure style=\"width: 335px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/05\/php-livscykel.png\" alt=\"PHP livscykel\" width=\"335\" height=\"323\"><figcaption class=\"wp-caption-text\">PHP livscykel (bildk\u00e4lla: <a href=\"https:\/\/phpinternals.net\/categories\/extensions\">PHP Internals<\/a>)<\/figcaption><\/figure>\n<p>S\u00e5 h\u00e4r fungerar Preloading enligt Dmitry:<\/p>\n<blockquote><p>Vid serverstart \u2013 innan n\u00e5gon applikationskod k\u00f6rs \u2013 kan vi ladda en viss upps\u00e4ttning PHP-filer till minnet \u2013 och g\u00f6ra deras inneh\u00e5ll &#8221;permanent tillg\u00e4ngligt&#8221; f\u00f6r alla efterf\u00f6ljande f\u00f6rfr\u00e5gningar som kommer att serveras av den servern. Alla funktioner och klasser som definieras i dessa filer kommer att vara tillg\u00e4ngliga f\u00f6r f\u00f6rfr\u00e5gningar direkt, precis som interna enheter.<\/p><\/blockquote>\n<p>Dessa filer laddas vid serverstart, exekveras innan n\u00e5got program och \u00e4r tillg\u00e4ngliga f\u00f6r eventuella framtida f\u00f6rfr\u00e5gningar. Det \u00e4r j\u00e4ttebra n\u00e4r det g\u00e4ller prestanda.<\/p>\n<p>Preloading styrs av ett specifikt <code>php.ini<\/code>-direktiv: <code>opcache.preload<\/code>. I detta direktiv specificeras ett PHP-skript som ska sammanst\u00e4llas och exekveras vid serverstart. Den h\u00e4r filen kan anv\u00e4ndas f\u00f6r att f\u00f6rinstallera ytterligare filer, antingen inkludera dem eller via <code>opcache_compile_file()<\/code>-funktionen (l\u00e4s mer i <a href=\"https:\/\/www.php.net\/manual\/en\/function.opcache-compile-file.php\">PHP-dokumentationen<\/a>).<\/p>\n<p>Men det finns en nackdel. I sj\u00e4lva verket anger RFC uttryckligen:<\/p>\n<blockquote><p>Preloaded files f\u00f6rblir cachade i opcache-minne f\u00f6r alltid. \u00c4ndring av deras motsvarande k\u00e4llfiler kommer inte att ha n\u00e5gon effekt utan en annan server-omstart.<\/p><\/blockquote>\n<p>Alla funktioner som definieras i preloaded files kommer dock att laddas permanent i PHP funktions och klasstabeller och f\u00f6rbli tillg\u00e4ngliga f\u00f6r varje framtida f\u00f6rfr\u00e5gan. Detta kommer att leda till goda prestandaf\u00f6rb\u00e4ttringar, \u00e4ven om dessa f\u00f6rb\u00e4ttringar skulle kunna variera avsev\u00e4rt.<\/p>\n<p>Du kan l\u00e4sa mer om begr\u00e4nsningar och undantag f\u00f6r preload p\u00e5 den officiella <a href=\"https:\/\/wiki.php.net\/rfc\/preload\">Preloading RFC-sidan<\/a>.<\/p>\n<h3 id=\"serialization\">Nytt anpassat objekt serialiseringsmekanism<\/h3>\n<p>Detta \u00e4r ett <a href=\"https:\/\/nikic.github.io\/aboutMe.html\">annat f\u00f6rslag<\/a> fr\u00e5n Nikita Popov som godk\u00e4ndes med stor majoritet.<\/p>\n<p>F\u00f6r n\u00e4rvarande har vi tv\u00e5 olika mekanismer f\u00f6r anpassad serialisering av objekt i PHP:<\/p>\n<ul>\n<li>De magiska metoderna <code>__sleep()<\/code> och <code>__wakeup()<\/code><\/li>\n<li><code>Serialized<\/code> gr\u00e4nssnitt<\/li>\n<\/ul>\n<p>Enligt Nikita har b\u00e5da dessa alternativ problem som leder till komplex och op\u00e5litlig kod. Du kan dyka djupt in i detta \u00e4mne i <a href=\"https:\/\/wiki.php.net\/rfc\/custom_object_serialization\">RFC<\/a>. H\u00e4r n\u00e4mner jag bara att den nya serialiseringsmekanismen b\u00f6r f\u00f6rhindra dessa problem genom att tillhandah\u00e5lla tv\u00e5 nya magiska metoder, <code>__serialize()<\/code> och <code>__unserialize()<\/code>, som kombinerar de tv\u00e5 befintliga mekanismerna.<\/p>\n<p>Detta f\u00f6rslag antogs med 20-7 r\u00f6ster.<\/p>\n<h3 id=\"deprecations\">Avvecklingar<\/h3>\n<p>F\u00f6ljande funktioner\/funktionaliteter kommer att avvecklas med PHP 7.4. F\u00f6r en mer omfattande lista \u00f6ver avvecklingar, kolla in PHP 7.4 Upgrade Notes.<\/p>\n<h4>\u00c4ndra den sammanl\u00e4nkade operat\u00f6rens f\u00f6retr\u00e4de<\/h4>\n<p>I PHP g\u00e4ller f\u00f6r n\u00e4rvarande att de aritmetiska operat\u00f6rerna &#8221;+&#8221; och &#8221;-&#8221; str\u00e4ngoperat\u00f6ren &#8221;.&#8221; \u00e4r associativa och har samma f\u00f6retr\u00e4de (L\u00e4s mer om <a href=\"https:\/\/www.php.net\/manual\/en\/language.operators.precedence.php\">Operat\u00f6rsf\u00f6retr\u00e4de<\/a>).<\/p>\n<p>Som ett exempel, \u00f6verv\u00e4g f\u00f6ljande rad:<\/p>\n<pre><code class=\"language-php\">echo \"sum: \" . $a + $b;<\/code><\/pre>\n<p>I PHP 7.3 producerar denna kod f\u00f6ljande varning:<\/p>\n<pre><code class=\"language-php\">Warning: A non-numeric value encountered in \/app\/types.php on line 4<\/code><\/pre>\n<p>Detta \u00e4r f\u00f6r att sammanslagningen utv\u00e4rderas fr\u00e5n v\u00e4nster till h\u00f6ger. Det \u00e4r samma som att skriva f\u00f6ljande kod:<\/p>\n<pre><code class=\"language-php\">echo (\"sum: \" . $a) + $b;<\/code><\/pre>\n<p>Denna <a href=\"https:\/\/wiki.php.net\/rfc\/concatenation_precedence\">RFC<\/a> f\u00f6resl\u00e5r att \u00e4ndra f\u00f6retr\u00e4de f\u00f6r operat\u00f6rer, ge &#8221;.&#8221; ett l\u00e4gre f\u00f6retr\u00e4de \u00e4n &#8221;+&#8221; och &#8221;-&#8221;-operat\u00f6rer, s\u00e5 att additioner och subtraktioner alltid skulle utf\u00f6ras innan str\u00e4ngsammanslagningen. Denna kod b\u00f6r motsvara f\u00f6ljande:<\/p>\n<pre><code class=\"language-php\">echo \"sum: \" . ($a + $b);<\/code><\/pre>\n<p>Detta \u00e4r ett f\u00f6rslag i tv\u00e5 steg:<\/p>\n<ul>\n<li>Fr\u00e5n och med version 7.4 b\u00f6r PHP avge ett avvecklingsmeddelande n\u00e4r det st\u00f6ter p\u00e5 ett uttryck med&#8221;+&#8221;, &#8221;-&#8221; och &#8221;.&#8221; utan parenteser.<\/li>\n<li>Den faktiska f\u00f6r\u00e4ndringen av f\u00f6retr\u00e4de f\u00f6r dessa operat\u00f6rer b\u00f6r l\u00e4ggas till med <a href=\"https:\/\/kinsta.com\/se\/blog\/php-8\/\">PHP 8<\/a>.<\/li>\n<\/ul>\n<p>B\u00e5da f\u00f6rslagen har godk\u00e4nts med stor majoritet.<\/p>\n<h4>Avveckla v\u00e4nster-associativ tern\u00e4r operator<\/h4>\n<p>I PHP \u00e4r den tern\u00e4ra operat\u00f6ren, till skillnad fr\u00e5n m\u00e5nga andra spr\u00e5k, v\u00e4nster-associativ. Enligt Nikita Popof kan detta vara f\u00f6rvirrande f\u00f6r programmerare som byter mellan olika spr\u00e5k.<\/p>\n<p>F\u00f6r n\u00e4rvarande \u00e4r f\u00f6ljande kod i PHP korrekt:<\/p>\n<pre><code class=\"language-php\">$b = $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : 'other';<\/code><\/pre>\n<p>Det tolkas som:<\/p>\n<pre><code class=\"language-php\">$b = (($a == 1 ? 'one' : $a == 2) ? 'two' : $a == 3) ? 'three' : 'other';<\/code><\/pre>\n<p>Och detta kan leda till fel eftersom det kanske inte \u00e4r vad vi t\u00e4nkt g\u00f6ra. S\u00e5 denna RFC f\u00f6resl\u00e5r att avveckla och ta bort anv\u00e4ndningen av v\u00e4nster-associativitet f\u00f6r tern\u00e4ra operat\u00f6rer och tvinga utvecklare att anv\u00e4nda parenteser.<\/p>\n<p>Detta \u00e4r ytterligare ett f\u00f6rslag i tv\u00e5 steg:<\/p>\n<ul>\n<li>Fr\u00e5n och med PHP 7.4 kommer kapslade tern\u00e4rer utan uttrycklig anv\u00e4ndning av parenteser att skapa en avvecklingsvarning.<\/li>\n<li>Fr\u00e5n och med <a href=\"https:\/\/kinsta.com\/se\/blog\/php-8\/\">PHP 8.0<\/a> kommer det att bli ett &#8217;compile runtime error&#8217;.<\/li>\n<\/ul>\n<p>Detta f\u00f6rslag har godk\u00e4nts med 35 mot 10 r\u00f6ster.<\/p>\n<h2 class=\"has-anchor-hash\">Vad betyder PHP 7.4 f\u00f6r WordPress-anv\u00e4ndare?<span id=\"what-does-php-73-mean-for-wordpress-users\" class=\"anchor-hash\" aria-hidden=\"true\"><\/span><\/h2>\n<p>PHP \u00e4r det mest anv\u00e4nda programmeringsspr\u00e5ket p\u00e5 serversidan p\u00e5 webben. <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/all\/all\">Enligt W3Techs<\/a>, r\u00e4knat 2 December 2019, anv\u00e4nds PHP av 78.9% av alla webbplatser vars serverprogrammeringsspr\u00e5k de kan uppt\u00e4cka.<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"disc\" selector=\"h3\" count-number=\"5\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<figure id=\"attachment_63301\" aria-describedby=\"caption-attachment-63301\" style=\"width: 1376px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-63301 size-full\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/06\/php-anvandning-1.png\" alt=\"PHP-anv\u00e4ndning (December 2019)\" width=\"1376\" height=\"654\"><figcaption id=\"caption-attachment-63301\" class=\"wp-caption-text\">PHP-anv\u00e4ndning (December 2019)<\/figcaption><\/figure>\n<p>Tyv\u00e4rr <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/5\/all\">anv\u00e4nds PHP 5 fortfarande av 44.0% av alla webbplatser<\/a> med ett k\u00e4nt serverprogrammeringsspr\u00e5k. Om du l\u00e4gger till <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/7\/all\">antalet anv\u00e4ndare som fortfarande anv\u00e4nder PHP 7.0<\/a> och 7.1, visar det sig att en stor majoritet av webbplatser k\u00f6r versioner av PHP som inte st\u00f6ds.<\/p>\n<figure id=\"attachment_63275\" aria-describedby=\"caption-attachment-63275\" style=\"width: 1726px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-63275 size-full\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2018\/06\/supported-php-versions-for-wordpress-1.png\" alt=\"Supported PHP Versions for WordPress\" width=\"1726\" height=\"332\"><figcaption id=\"caption-attachment-63275\" class=\"wp-caption-text\">St\u00f6dda PHP-versioner (Bildk\u00e4lla: <a href=\"https:\/\/www.php.net\/supported-versions.php\">Supported Versions<\/a>)<\/figcaption><\/figure>\n<p>Enligt den officiella <a href=\"https:\/\/wordpress.org\/about\/stats\/\">WordPress statistik-sidan<\/a>, k\u00f6r i skrivande stund 64% av alla WordPress-webbplatser av PHP som inte l\u00e4ngre st\u00f6ds. Endast lite \u00f6ver 13% anv\u00e4nder: <a href=\"https:\/\/kinsta.com\/se\/changelog\/php-7-3-officiell-version-ar-nu-tillganglig-pa-mykinsta\/\">PHP 7.3<\/a>. Och den senaste versionen, PHP 7.4, dyker inte ens upp \u00e4nnu.\u00a0Du kan se att en stor majoritet av anv\u00e4ndarna, \u00f6ver 23%, fortfarande k\u00f6r PHP 5.6.<\/p>\n<figure id=\"attachment_63288\" aria-describedby=\"caption-attachment-63288\" style=\"width: 1390px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-63288 size-full\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2017\/03\/wordpress-php-versionsstatistik-3.png\" alt=\"WordPress PHP versionsstatistik\" width=\"1390\" height=\"1156\"><figcaption id=\"caption-attachment-63288\" class=\"wp-caption-text\">WordPress PHP versionsstatistik<\/figcaption><\/figure>\n<p>Vi rekommenderar starkt att du ber din v\u00e4rd om en <a href=\"https:\/\/kinsta.com\/se\/blog\/php-versioner\/\">version av PHP som st\u00f6ds<\/a>, helst enligt <a href=\"https:\/\/wordpress.org\/about\/requirements\/\">WordPress officiella krav<\/a>. I skrivande stund, maj 2019, kr\u00e4ver WordPress:<\/p>\n<ul>\n<li>PHP-version 7.3 eller senare.<\/li>\n<li>MySQL-version 5,6 eller senare ELLER <a href=\"https:\/\/kinsta.com\/se\/blog\/mariadb-vs-mysql\/\">MariaDB<\/a>-version 10.1 eller h\u00f6gre.<\/li>\n<li>HTTPS-st\u00f6d<\/li>\n<\/ul>\n<h3 class=\"has-anchor-hash\">PHP 7 Prestanda<br \/>\n<span id=\"php-7-performance\" class=\"anchor-hash\" aria-hidden=\"true\"><\/span><\/h3>\n<p>Siffrorna ovan \u00e4r s\u00e4rskilt avskr\u00e4ckande 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<li>Andrei Avram s\u00e5g snabbare exekveringstider och <a href=\"https:\/\/blog.andreiavram.ro\/updates-php-performance-increase\/\">mindre minnesanv\u00e4ndning i PHP 7.4<\/a> j\u00e4mf\u00f6rt med PHP 7.3<\/li>\n<li>Phoronix k\u00f6rde n\u00e5gra tidiga <a href=\"https:\/\/phoronix.com\/scan.php?page=news_item&#038;px=PHP-7.4-Early-Benchmarks\">benchmarktester med PHP 7.4 Alpha<\/a> och s\u00e5g att det var n\u00e5got snabbare \u00e4n PHP 7.3.<\/li>\n<\/ul>\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Upgraded my <a href=\"https:\/\/twitter.com\/kinsta?ref_src=twsrc%5Etfw\">@kinsta<\/a> site to PHP 7.4 and it is like 10x faster. Woot!<\/p>\n<p>&mdash; Ronald Huereca (@RonaldHuereca) <a href=\"https:\/\/twitter.com\/RonaldHuereca\/status\/1201513866313777158?ref_src=twsrc%5Etfw\">December 2, 2019<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>Vi k\u00f6rde v\u00e5ra egna <a href=\"https:\/\/kinsta.com\/se\/blog\/php-riktmarkena\/\">PHP prestanda-benchmarks<\/a> med PHP 7.3. Vi s\u00e5g 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.\u00a0<strong>Vi kommer att sl\u00e4ppa v\u00e5ra PHP 7.4 benchmarks snart!<\/strong><\/p>\n<figure style=\"width: 940px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2018\/12\/wordpress-5.0-php-benchmarks-2.png\" alt=\"WordPress 5.0 PHP benchmarks\" width=\"940\" height=\"788\"><figcaption 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>M\u00e5nga \u00e4r l\u00e5ngsamma att uppdatera helt enkelt p\u00e5 grund av den tid som \u00e4r involverad i att testa nya 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 class=\"has-anchor-hash\">Kontrollera Din PHP-Version<br \/>\n<span id=\"checking-your-php-version\" class=\"anchor-hash\" aria-hidden=\"true\"><\/span><\/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 style=\"width: 1542px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/06\/kontrollera-php-versionen-pingdom.png\" alt=\"Kontrollera PHP-versionen i Pingdom\" width=\"1542\" height=\"864\"><figcaption class=\"wp-caption-text\">Kontrollera PHP-versionen i Pingdom<\/figcaption><\/figure>\n<p>Detta bygger p\u00e5 att v\u00e4rden inte \u00e4ndrar <code>X-Powered-By<\/code>-rubrikv\u00e4rdet. Men m\u00e5nga g\u00f6r s\u00e5 p\u00e5 grund av s\u00e4kerhetssk\u00e4l (inklusive Kinsta). Om s\u00e5 \u00e4r fallet kanske du inte ser din PHP-version. I s\u00e5 fall, om du k\u00f6r <a href=\"https:\/\/kinsta.com\/se\/blog\/wordpress-5-2\/\">WordPress 5.2<\/a> eller h\u00f6gre, finns det ett nytt Webbplatsh\u00e4lsoverktyg du kan anv\u00e4nda. G\u00e5 \u00f6ver till &#8221;Verktyg&#8221; \u2192 &#8221;Webbplatsh\u00e4lsa&#8221; \u2192 &#8221; Info&#8221; och under avsnittet &#8221;Server&#8221; hittar du serverns PHP-version.<\/p>\n<figure style=\"width: 1954px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/06\/kontrollera-php-versionen-wordpress-webbplatshalsoverktyg.png\" alt=\"Kontrollera PHP-versionen med WordPress webbplatsh\u00e4lsoverktyg\" width=\"1954\" height=\"720\"><figcaption class=\"wp-caption-text\">Kontrollera PHP-versionen med WordPress webbplatsh\u00e4lsoverktyg<\/figcaption><\/figure>\n<p>Alternativt 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. N\u00e5gra andra s\u00e4tt att se din PHP-version inkluderar att <a href=\"https:\/\/kinsta.com\/se\/blog\/php-versioner\/\">ladda upp en fil via FTP<\/a>, eller helt enkelt fr\u00e5ga din v\u00e4rd.<\/p>\n<h3 class=\"has-anchor-hash\">Uppdatering till PHP 7.4<br \/>\n<span id=\"updating-to-php-74\" class=\"anchor-hash\" aria-hidden=\"true\"><\/span><\/h3>\n<p><strong>The final version of PHP 7.4 is available right now at Kinsta.<\/strong> Alternativt kan du <a href=\"https:\/\/kinsta.com\/se\/blog\/installerar-wordpress-lokalt\/\">testa din WordPress webbplats lokalt<\/a> eller kontrollera dina skript i en milj\u00f6 som <a href=\"https:\/\/docs.docker.com\/get-started\/\">Docker<\/a>, vilket g\u00f6r att du kan testa olika versioner av PHP fr\u00e5n kommandoraden.<br \/>\n<strong><br \/>\n<\/strong>Det enklaste s\u00e4ttet att b\u00f6rja testa \u00e4r att <a href=\"https:\/\/kinsta.com\/docs\/wordpress-hosting\/staging-environment\/\">skapa en staging milj\u00f6<\/a> eftersom detta kommer att likna din levande produktionsplats. I mykinsta-instrumentpanelen klickar du p\u00e5 din webbplats och \u00e4ndrar milj\u00f6n till staging.<\/p>\n<figure id=\"attachment_62780\" aria-describedby=\"caption-attachment-62780\" style=\"width: 1557px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-62780 size-full\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/11\/skapa-wordpress-staging-miljo.png\" alt=\"Skapa WordPress staging milj\u00f6\" width=\"1557\" height=\"750\"><figcaption id=\"caption-attachment-62780\" class=\"wp-caption-text\">Skapa WordPress staging milj\u00f6<\/figcaption><\/figure>\n<p>Sedan under menyn&#8221; Verktyg &#8221; \u00e4ndra din PHP-motor \u00f6ver till PHP 7.4. Du kan sedan b\u00f6rja testa f\u00f6r att s\u00e4kerst\u00e4lla kompatibiliteten hos din kod, tredjepartsinsticksprogram och teman.<\/p>\n<p>Precis som i tidigare versioner av PHP har v\u00e5r <a href=\"https:\/\/kinsta.com\/se\/changelog\/automatisk-mysql-databas-optimeringar-sjalvlakande-php-gcp-brandvagg\/#selfhealing-php\">sj\u00e4lvl\u00e4kande PHP-funktion<\/a> fullt st\u00f6d f\u00f6r PHP 7.4. Om PHP av n\u00e5gon anledning g\u00e5r ner, kommer vi automatiskt att starta om det. Om omstarten inte l\u00f6ser problemet kommer v\u00e5rt \u00f6vervakningssystem att varna v\u00e5rt <a href=\"https:\/\/kinsta.com\/se\/blog\/sysadmin\/\">sysadmin-team<\/a> som unders\u00f6ker orsaken till problemet.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-important\">\n            <h3>Important<\/h3>\n        <p>\u00c4ven om det h\u00e4r \u00e4r en stabil utg\u00e5va, <strong>uppmuntrar vi fortfarande alla att testa PHP 7.4<\/strong> innan de anv\u00e4nder den p\u00e5 sin live-webbplats<strong>.<\/strong><\/p>\n<\/aside>\n\n<figure id=\"attachment_63243\" aria-describedby=\"caption-attachment-63243\" style=\"width: 1565px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-63243 size-full\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/12\/byt-till-php-7.4-2.png\" alt=\"Byt till PHP 7.4\" width=\"1565\" height=\"990\"><figcaption id=\"caption-attachment-63243\" class=\"wp-caption-text\">Byt till PHP 7.4<\/figcaption><\/figure>\n<p>Se detaljer om <a href=\"https:\/\/kinsta.com\/se\/changelog\/php-7-4-officiella-slappet-nu-tillganglig-mykinsta\/\">PHP 7.4 p\u00e5 Kinsta<\/a>.<\/p>\n<h3>Installera och k\u00f6ra PHP 7.4 p\u00e5 Docker<\/h3>\n<p>Vill du testa p\u00e5 Docker? Lyckligtvis beh\u00f6ver du inte kompilera och konfigurera PHP 7.4 manuellt. Om du redan har Docker installerat p\u00e5 ditt system beh\u00f6ver du bara installera den inofficiella <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-7.4\">PHP-FPM 7.4 Docker Image<\/a> och k\u00f6ra dina test fr\u00e5n kommandoraden p\u00e5 n\u00e5gra sekunder.<\/p>\n<figure style=\"width: 570px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/05\/installera-nginx-docker-image.png\" alt=\"Installera Nginx Docker Image\" width=\"570\" height=\"365\"><figcaption class=\"wp-caption-text\">Installera Nginx Docker Image<\/figcaption><\/figure>\n<p>Om du f\u00f6redrar att k\u00f6ra din PHP 7.4-kod i din webbl\u00e4sare m\u00e5ste du ocks\u00e5 installera en <a href=\"https:\/\/kinsta.com\/se\/blog\/nginx-vs-apache\/\">Nginx eller Apache<\/a>-image Men inga problem. F\u00f6lj bara <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-7.4#example\">utvecklarens anvisningar<\/a>. Kopiera och klistra in kommandona fr\u00e5n Docker Image-sidan till ditt kommandoradsverktyg, och du \u00e4r redo att s\u00e4tta ig\u00e5ng.<\/p>\n\n<h2>Sammanfattning<\/h2>\n<p>I det h\u00e4r inl\u00e4gget t\u00e4ckte vi ett stort antal \u00e4ndringar och till\u00e4gg som vi kan f\u00f6rv\u00e4nta oss med utg\u00e5van av PHP 7.4. Om du letar efter en fullst\u00e4ndig lista \u00f6ver funktioner, tillsammans med den officiella RFC-dokumentationen, kolla in f\u00f6ljande resurser:<\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc#php_74\">PHP 7.4 Requests for Comments<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/php\/php-src\/blob\/PHP-7.4\/UPGRADING\">PHP 7.4 Upgrade Notes<\/a><\/li>\n<li><a href=\"https:\/\/wiki.php.net\/todo\/php74\">PHP 7.4 Preparation Tasks<\/a><\/li>\n<\/ul>\n<p>Vi kommer att h\u00e5lla dig uppdaterad med all den senaste informationen om PHP 7.4. Om du \u00e4r en Kinsta-klient kan du redan b\u00f6rja flytta dina WordPress-webbplatser till den senaste versionen.<\/p>\n<p>\u00c4r du redo att <a href=\"https:\/\/kinsta.com\/se\/blog\/installerar-php\/\">installera och testa de kommande PHP-funktionerna<\/a>? Vilken \u00e4r din favorit? Dela dina tankar med oss i kommentarerna nedan.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP 7.4, n\u00e4sta mindre utg\u00e5va av PHP 7 sl\u00e4pptes f\u00f6r allm\u00e4n tillg\u00e4nglighet 28 November 2019. S\u00e5 det \u00e4r dags f\u00f6r oss att dyka in i n\u00e5gra &#8230;<\/p>\n","protected":false},"author":36,"featured_media":30744,"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-30695","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.4 (funktioner, avvecklingar, hastighet)<\/title>\n<meta name=\"description\" content=\"PHP 7.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!\" \/>\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-4\/\" \/>\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.4 (funktioner, avvecklingar, hastighet)\" \/>\n<meta property=\"og:description\" content=\"PHP 7.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/\" \/>\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-09-12T13:09:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-29T12:13:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2025\/01\/SE-Homepage-featured-image-1024x536.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"536\" \/>\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.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/wp-content\/uploads\/2019\/06\/php-7.4.jpg\" \/>\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=\"17 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-4\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/se\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)\",\"datePublished\":\"2019-09-12T13:09:39+00:00\",\"dateModified\":\"2022-12-29T12:13:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/\"},\"wordCount\":3484,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/se\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg\",\"keywords\":[\"php\",\"webdev\"],\"articleSection\":[\"WordPress-utveckling\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/\",\"url\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/\",\"name\":\"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/se\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg\",\"datePublished\":\"2019-09-12T13:09:39+00:00\",\"dateModified\":\"2022-12-29T12:13:07+00:00\",\"description\":\"PHP 7.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg\",\"width\":1460,\"height\":730,\"caption\":\"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/se\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)\"}]},{\"@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.4 (funktioner, avvecklingar, hastighet)","description":"PHP 7.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!","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-4\/","og_locale":"sv_SE","og_type":"article","og_title":"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)","og_description":"PHP 7.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!","og_url":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstasweden\/","article_published_time":"2019-09-12T13:09:39+00:00","article_modified_time":"2022-12-29T12:13:07+00:00","og_image":[{"width":1024,"height":536,"url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2025\/01\/SE-Homepage-featured-image-1024x536.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"PHP 7.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!","twitter_image":"https:\/\/kinsta.com\/wp-content\/uploads\/2019\/06\/php-7.4.jpg","twitter_creator":"@carlodaniele","twitter_site":"@kinsta_se","twitter_misc":{"Skriven av":"Carlo Daniele","Ber\u00e4knad l\u00e4stid":"17 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/se\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)","datePublished":"2019-09-12T13:09:39+00:00","dateModified":"2022-12-29T12:13:07+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/"},"wordCount":3484,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/se\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg","keywords":["php","webdev"],"articleSection":["WordPress-utveckling"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/se\/blog\/php-7-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/","url":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/","name":"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)","isPartOf":{"@id":"https:\/\/kinsta.com\/se\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg","datePublished":"2019-09-12T13:09:39+00:00","dateModified":"2022-12-29T12:13:07+00:00","description":"PHP 7.4 kommer med nya funktioner, avvecklingar och en \u00f6kning av prestanda. Kolla denna djupg\u00e5ende \u00f6versikt \u00f6ver vad som \u00e4r nytt i PHP 7.4!","breadcrumb":{"@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/se\/blog\/php-7-4\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#primaryimage","url":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg","contentUrl":"https:\/\/kinsta.com\/se\/wp-content\/uploads\/sites\/9\/2019\/09\/php-7.4.jpg","width":1460,"height":730,"caption":"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/se\/blog\/php-7-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/se\/"},{"@type":"ListItem","position":2,"name":"Vad \u00e4r nytt i PHP 7.4 (funktioner, avvecklingar, hastighet)"}]},{"@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\/30695","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=30695"}],"version-history":[{"count":17,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/30695\/revisions"}],"predecessor-version":[{"id":48273,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/posts\/30695\/revisions\/48273"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/it"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/nl"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/fr"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/dk"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/jp"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/de"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/se"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/translations\/pt"},{"href":"https:\/\/kinsta.com\/se\/wp-json\/kinsta\/v1\/posts\/30695\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/media\/30744"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/media?parent=30695"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/tags?post=30695"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/se\/wp-json\/wp\/v2\/topic?post=30695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}