{"id":26274,"date":"2019-08-13T05:31:42","date_gmt":"2019-08-13T12:31:42","guid":{"rendered":"https:\/\/kinsta.com\/?p=46699"},"modified":"2023-08-21T09:15:14","modified_gmt":"2023-08-21T08:15:14","slug":"php-7-4","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/","title":{"rendered":"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)"},"content":{"rendered":"<p>PHP 7.4, das n\u00e4chste PHP 7 Minor Release, wurde am 28. November 2019 f\u00fcr die allgemeine Verf\u00fcgbarkeit freigegeben. Es ist also Zeit f\u00fcr uns, in einige der aufregendsten Erweiterungen und neuen Funktionen einzutauchen, die PHP schneller und zuverl\u00e4ssiger gemacht haben werden.<\/p>\n<p><strong>Update:<\/strong> <a href=\"https:\/\/kinsta.com\/de\/changelog\/php-8-1\/\">PHP 8.1 (offizielles Release)<\/a> ist jetzt f\u00fcr alle Kunden von Kinsta verf\u00fcgbar. PHP 7.4 wird von Kinsta nicht mehr unterst\u00fctzt. Bitte beachte, dass wir die PHP-Versionen 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 und 8.5 unterst\u00fctzen.<\/p>\n<p>Wenn PHP 7.4 die Leistung deutlich steigert und die Code-Lesbarkeit verbessert, wird <a href=\"https:\/\/kinsta.com\/de\/blog\/php-8\/\">PHP 8<\/a> der eigentliche Meilenstein f\u00fcr die PHP-Performance sein, da der Vorschlag zur <a href=\"https:\/\/wiki.php.net\/rfc\/jit\">JIT-Einbindung <\/a>bereits genehmigt wurde.<\/p>\n<p>Wie auch immer, heute durchlaufen wir einige der interessantesten Features und \u00c4nderungen, die wir mit PHP 7.4 erwarten.\u00a0Nur f\u00fcr die Akten, das waren die wichtigen Daten f\u00fcr die Version 7.4:<\/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; Einfrieren von Funktionen<\/li>\n<li>28. November 2019: PHP 7.4 GA Freigabe<\/li>\n<\/ul>\n<p>Die vollst\u00e4ndige Liste der Features und Erg\u00e4nzungen findest du auf der <a href=\"https:\/\/wiki.php.net\/rfc#php_74\">offiziellen RFC-Seite<\/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>Was ist neu in PHP mit PHP 7.4?<\/h2>\n<p>In diesem Beitrag behandeln wir einige \u00c4nderungen und Funktionen, die der Sprache mit der endg\u00fcltigen Version von PHP 7.4 hinzugef\u00fcgt werden sollten:<\/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\">Vergesse array_merge: PHP 7.4 bringt den Spread-Operator in Array-Ausdruck<\/h3>\n<p>Seit PHP 5.6 verf\u00fcgbar, ist das <a href=\"https:\/\/wiki.php.net\/rfc\/argument_unpacking\">Entpacken von Argumenten<\/a> eine Syntax zum Entpacken von Arrays und <a href=\"https:\/\/www.php.net\/manual\/en\/class.traversable.php\">Traversables<\/a> in Argumentenlisten. Um ein Array oder ein Traversable zu entpacken, muss es mit &#8230; (3 Punkten) vorangestellt werden, wie im folgenden Beispiel gezeigt:<\/p>\n<pre><code class=\"language-php\">function test(...$args) { var_dump($args); }\ntest(1, 2, 3);<\/code><\/pre>\n<p>Nun schl\u00e4gt <a href=\"https:\/\/wiki.php.net\/rfc\/spread_operator_for_array\">dieser PHP 7.4 RFC<\/a> vor, diese Funktion auf Array-Definitionen auszudehnen:<\/p>\n<pre><code class=\"language-php\">$arr = [...$args];<\/code><\/pre>\n<p>Der erste erkl\u00e4rte Vorteil des <strong>Spread Operators im Array-Ausdruck<\/strong> ist die Leistung. In der Tat, so hei\u00dft es in <a href=\"https:\/\/wiki.php.net\/rfc\/spread_operator_for_array\">der RFC-Dokumentation<\/a>:<\/p>\n<blockquote><p>Spread-Operator sollte eine bessere Performance haben als <code>array_merge<\/code>. Das liegt nicht nur daran, dass der Spread-Operator eine Sprachstruktur ist, w\u00e4hrend <code>array_merge<\/code> eine Funktion ist, sondern auch daran, dass die Kompilierzeitoptimierung f\u00fcr konstante Arrays performant sein kann.<\/p><\/blockquote>\n<p>Ein wesentlicher Vorteil des Spread-Operators ist, dass er alle durchquerbaren Objekte unterst\u00fctzt, w\u00e4hrend die Funktion <code>array_merge<\/code> nur Arrays unterst\u00fctzt.<\/p>\n<p>Hier ist ein Beispiel f\u00fcr das Entpacken von Argumenten im Array-Ausdruck:<\/p>\n<pre><code class=\"language-php\">$parts = ['apple', 'pear'];\n$fruits = ['banana', 'orange', ...$parts, 'watermelon'];\nvar_dump($fruits);<\/code><\/pre>\n<p>Wenn du diesen Code mit in PHP 7.3 oder fr\u00fcher ausf\u00fchrst, l\u00f6st PHP einen Parse-Fehler aus:<\/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>Stattdessen w\u00fcrde PHP 7.4 ein Array zur\u00fcckgeben:<\/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>Der RFC besagt, dass wir das gleiche Array mehrfach erweitern k\u00f6nnen. Au\u00dferdem k\u00f6nnen wir die Syntax des Spread Operators \u00fcberall im Array verwenden, da normale Elemente vor oder nach dem Spread Operator hinzugef\u00fcgt werden k\u00f6nnen. Der folgende Code wird also so funktionieren, wie wir es erwarten k\u00f6nnen:<\/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>Es ist auch m\u00f6glich, Arrays, die von einer Funktion zur\u00fcckgegeben werden, direkt in ein neues Array zu entpacken:<\/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 gibt das folgende Array aus:<\/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>Wir k\u00f6nnen auch die <a href=\"https:\/\/www.php.net\/manual\/en\/language.generators.syntax.php\">Generatorsyntax<\/a> verwenden:<\/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>Es ist uns jedoch nicht gestattet, Arrays zu entpacken, die als Referenz \u00fcbergeben werden. Betrachte das folgende Beispiel:<\/p>\n<pre><code class=\"language-php\">$arr1 = ['red', 'green', 'blue'];\n$arr2 = [...&$arr1];<\/code><\/pre>\n<p>Wenn wir versuchen w\u00fcrden, ein Array per Referenz zu entpacken, l\u00f6st PHP den folgenden Parse-Fehler aus:<\/p>\n<pre><code class=\"language-php\">Parse error: syntax error, unexpected '&' in \/app\/spread-operator.php on line 3<\/code><\/pre>\n<p>Jedenfalls, wenn die Elemente des ersten Arrays durch Referenz gespeichert werden, werden sie auch durch Referenz im zweiten Array gespeichert. Hier ist ein Beispiel:<\/p>\n<pre><code class=\"language-php\">$arr0 = 'red';\n$arr1 = [&$arr0, 'green', 'blue'];\n$arr2 = ['white', ...$arr1, 'black'];<\/code><\/pre>\n<p>Und hier ist, was wir mit PHP 7.4 erreichen:<\/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>Der Vorschlag des Spread-Betreibers wurde mit 43 zu 1 Stimmen angenommen.<\/p>\n<h3 id=\"arrow-functions\">Arrow Functions 2.0 (Short Closures)<\/h3>\n<p>In PHP gelten <a href=\"https:\/\/www.php.net\/manual\/en\/functions.anonymous.php\">anonyme Funktionen<\/a> als recht ausf\u00fchrlich und schwer zu implementieren und zu warten. <a href=\"https:\/\/wiki.php.net\/rfc\/arrow_functions_v2\">Dieser RFC<\/a> schl\u00e4gt die Einf\u00fchrung der k\u00fcrzeren und klareren Syntax der <strong>Arrow Functions<\/strong> (oder Short Closures) vor, die es uns erm\u00f6glichen sollte, unseren PHP-Code deutlich zu bereinigen.<\/p>\n<p>Betrachte das folgende Beispiel:<\/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 erlaubt es, eine pr\u00e4zisere Syntax zu verwenden, und die obige Funktion k\u00f6nnte wie folgt umgeschrieben werden:<\/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>Derzeit k\u00f6nnen <a href=\"https:\/\/www.php.net\/manual\/en\/functions.anonymous.php\">anonyme Funktionen<\/a> (Closures) Variablen, die im \u00fcbergeordneten Bereich definiert sind, dank des <code>use<\/code> Language Konstrukts erben, wie unten gezeigt:<\/p>\n<pre><code class=\"language-php\">$factor = 10;\n$calc = function($num) use($factor){\n\treturn $num * $factor;\n};<\/code><\/pre>\n<p>Aber mit PHP 7.4 werden Variablen, die im \u00fcbergeordneten Bereich definiert sind, <strong>implizit durch Wert erfasst<\/strong> (implizite Bindung nach Wert). So k\u00f6nnen wir die gesamte oben beschriebene Funktion in eine einzige Zeile schreiben:<\/p>\n<pre><code class=\"language-php\">$factor = 10;\n$calc = fn($num) =&gt; $num * $factor;<\/code><\/pre>\n<p>Die im \u00fcbergeordneten Bereich definierte Variable kann in der Pfeilfunktion genauso verwendet werden, als ob wir <code class=\"language-php\">($var)<\/code> verwenden w\u00fcrden, und es ist nicht m\u00f6glich, eine Variable aus dem \u00fcbergeordneten Bereich zu \u00e4ndern.<\/p>\n<p>Die neue Syntax ist eine gro\u00dfe Verbesserung der Sprache, da sie es uns erm\u00f6glicht, besser lesbaren und wartbaren Code zu erstellen. Wir k\u00f6nnen auch <a href=\"https:\/\/kinsta.com\/de\/blog\/php-7-2\/\">Parameter- und R\u00fcckgabetypen<\/a>, Standardwerte, Argumentlisten mit variabler L\u00e4nge (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Variadic_function\">variadische Funktionen<\/a>) verwenden, wir k\u00f6nnen \u00fcbergeben und per Referenz zur\u00fcckkehren, etc. Schlie\u00dflich k\u00f6nnen Short Closures auch in Klassenmethoden verwendet werden, und sie k\u00f6nnen die Variable <code>$this<\/code> wie normale Closures verwenden.<\/p>\n<p>Dieser RFC wurde mit 51 bis 8 Stimmen genehmigt, so dass wir davon ausgehen k\u00f6nnen, dass er Teil der PHP 7.4 Erg\u00e4nzungen sein wird.<\/p>\n<h3 id=\"nulled-coalesce-assign-operator\">Null Coalescing Assignment Operator<\/h3>\n<p>In PHP 7 hinzugef\u00fcgt, ist der <a href=\"https:\/\/www.php.net\/manual\/en\/migration70.new-features.php#migration70.new-features.null-coalesce-op\">Koaleszenzoperator<\/a>\u00a0(<code>??<\/code>) praktisch, wenn wir einen tern\u00e4ren Operator in Verbindung mit <code>isset()<\/code> verwenden m\u00fcssen. Es gibt den ersten Operanden zur\u00fcck, wenn er existiert und ist nicht <code>NULL<\/code>. Andernfalls gibt es den zweiten Operanden zur\u00fcck. Hier ist ein Beispiel:<\/p>\n<pre><code class=\"language-php\">$username = $_GET['user'] ?? 'nobody';<\/code><\/pre>\n<p>Was dieser Code tut, ist ziemlich einfach: <strong>Er holt den Anforderungsparameter und setzt einen Standardwert, wenn er nicht existiert.<\/strong> Die Bedeutung dieser Zeile ist klar, aber was w\u00e4re, wenn wir viel l\u00e4ngere Variablennamen wie in diesem Beispiel aus dem RFC h\u00e4tten?<\/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>Auf lange Sicht k\u00f6nnte dieser Code etwas schwierig zu pflegen sein. Um Entwicklern zu helfen, intuitiveren Code zu schreiben, schl\u00e4gt <a href=\"https:\/\/wiki.php.net\/rfc\/null_coalesce_equal_operator\">dieser RFC<\/a> die Einf\u00fchrung des <strong>null coalescing assignment operator<\/strong> (<code>??=<\/code>) vor. Anstatt also den vorherigen Code zu schreiben, k\u00f6nnten wir folgendes schreiben:<\/p>\n<pre><code class=\"language-php\">$this-&gt;request-&gt;data['comments']['user_id'] ??= 'value';<\/code><\/pre>\n<p>Wenn der Wert des linken Parameters <code>null<\/code> ist, dann wird der Wert des rechten Parameters verwendet.\u00a0Beachte, dass der Koaleszenzoperator zwar ein Vergleichsoperator ist, aber <code>??=<\/code> ein Zuordnungsoperator ist.<\/p>\n<p>Dieser Vorschlag wurde mit 37 zu 4 Stimmen angenommen.<\/p>\n<h3 id=\"typed-properties\">Typisierte Eigenschaften 2.0<\/h3>\n<p>Argumenttypdeklarationen oder Typhinweise erm\u00f6glichen es, den Typ einer Variablen anzugeben, der voraussichtlich an eine Funktion oder eine Klassenmethode \u00fcbergeben wird. Typ-Hinweise sind eine Funktion, die seit PHP 5 verf\u00fcgbar ist, und seit <a href=\"https:\/\/kinsta.com\/de\/blog\/php-7-2\/\">PHP 7.2<\/a> k\u00f6nnen wir sie mit dem <code>object<\/code>-datentyp verwenden. Jetzt bringt PHP 7.4 Type Hinting einen Schritt voran, indem es die Unterst\u00fctzung f\u00fcr <a href=\"https:\/\/wiki.php.net\/rfc\/typed_properties_v2\">erstklassige Property Type Declarations<\/a> hinzuf\u00fcgt. Hier ist ein sehr einfaches Beispiel:<\/p>\n<pre><code class=\"language-php\">class User {\n\tpublic int $id;\n\tpublic string $name;\n}<\/code><\/pre>\n<p>Es werden alle Typen unterst\u00fctzt, mit Ausnahme von <code>void<\/code> und <code>callable<\/code>:<\/p>\n<pre><code class=\"language-php\">public int $scalarType;\nprotected ClassName $classType;\nprivate ?ClassName $nullableClassType;<\/code><\/pre>\n<p>Der RFC erkl\u00e4rt den Grund, warum <code>void<\/code> und <code>callable<\/code> nicht unterst\u00fctzt werden:<\/p>\n<blockquote><p>Der Void Typ wird nicht unterst\u00fctzt, da er nicht n\u00fctzlich ist und eine unklare Semantik hat.<\/p><\/blockquote>\n<blockquote><p>Der Callable Type wird nicht unterst\u00fctzt, da sein Verhalten kontextabh\u00e4ngig ist.<\/p><\/blockquote>\n<p>Also k\u00f6nnen wir <code>bool<\/code>, <code>int<\/code>, <code>float<\/code>, <code>string<\/code>, <code>array<\/code>, <code>object<\/code>, <code>iterable<\/code>, <code>self<\/code>, <code>parent<\/code>, jeden Klassen- oder Interface-Namen und <a href=\"https:\/\/kinsta.com\/blog\/php-7-1-0\/#nullable-types\">nullable<\/a> <a href=\"https:\/\/www.php.net\/manual\/en\/migration71.new-features.php\">Typen<\/a> (<code>?type<\/code>) verwenden.<\/p>\n<p>Typen k\u00f6nnen f\u00fcr statische Eigenschaften verwendet werden:<\/p>\n<pre><code class=\"language-php\">public static iterable $staticProp;<\/code><\/pre>\n<p>Sie sind auch mit der <code>var<\/code>-Notation erlaubt:<\/p>\n<pre><code class=\"language-php\">var bool $flag;<\/code><\/pre>\n<p>Es ist m\u00f6glich, Standardeigenschaftenwerte festzulegen, die nat\u00fcrlich mit dem deklarierten Eigenschaftentyp \u00fcbereinstimmen m\u00fcssen, aber nur nullbare Eigenschaften k\u00f6nnen einen Standard-<code>null<\/code>-wert haben:<\/p>\n<pre><code class=\"language-php\">public string $str = \"foo\";\npublic ?string $nullableStr = null;<\/code><\/pre>\n<p>Der gleiche Typ gilt f\u00fcr alle Eigenschaften in einer einzigen Deklaration:<\/p>\n<pre><code class=\"language-php\">public float $x, $y;<\/code><\/pre>\n<p>Was passiert, wenn wir einen Fehler machen? Beachte den folgenden Code:<\/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>Im obigen Code haben wir einen Zeichenketten-Eigenschaftstyp deklariert, aber wir haben ein Array als Eigenschaftswert gesetzt. In einem solchen Szenario erhalten wir den folgenden Fatalen Fehler:<\/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>Dieser RFC wurde mit 70 zu 1 Stimmen genehmigt.<\/p>\n<h3 id=\"weakreferences\">Weak References<\/h3>\n<p>Mit <a href=\"https:\/\/wiki.php.net\/rfc\/weakrefs\">diesem RFC<\/a> f\u00fchrt PHP 7.4 die Klasse <a href=\"https:\/\/www.php.net\/manual\/en\/class.weakreference.php\">WeakReference<\/a> ein, die es Programmierern erm\u00f6glicht, eine Referenz auf ein Objekt zu behalten, das nicht verhindert, dass das Objekt selbst zerst\u00f6rt wird.<\/p>\n<p>Derzeit unterst\u00fctzt PHP Schwache Referenzen, indem es eine Erweiterung wie pecl-weakref verwendet. Wie auch immer, die neue API unterscheidet sich von der dokumentierten <code>WeakRef<\/code>-Klasse.<\/p>\n<p>Hier ist <a href=\"https:\/\/www.slideshare.net\/nikita_ppv\/typed-properties-and-more-whats-coming-in-php-74\">ein Beispiel vom Autor<\/a> dieses Vorschlags, 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>Der erste <code>var_dump<\/code> druckt das <code class=\"language-php\">object(stdClass)#1 (0) {}<\/code>, w\u00e4hrend der zweite <code>var_dump<\/code> <code>NULL<\/code> druckt, da das referenzierte Objekt zerst\u00f6rt wurde.<\/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>Dieser RFC wurde mit 28 zu 5 Stimmen verabschiedet.<\/p>\n<h3 id=\"covariant-return-types-contravariant-parameters\">Kovariante R\u00fcckgaben und Kontravariante Parameter<\/h3>\n<p><a href=\"https:\/\/www.slideshare.net\/nikita_ppv\/typed-properties-and-more-whats-coming-in-php-74\">Varianz<\/a> ist eine Eigenschaft von Klassenhierarchien, die beschreibt, wie sich die Typen eines Typkonstruktors auf <a href=\"https:\/\/en.wikipedia.org\/wiki\/Subtyping\">Subtypen<\/a> auswirken. Im Allgemeinen kann ein Typkonstruktor sein:<\/p>\n<ul>\n<li><strong>Invariant<\/strong>: Wenn der Typ des Supertyps den Typ des Subtyps einschr\u00e4nkt.<\/li>\n<li><strong>Kovariant<\/strong>: wenn die Reihenfolge der Typen beibehalten wird (Typen werden von spezifischer zu generischer geordnet).<\/li>\n<li><strong>Kontravariant<\/strong>: wenn sie die Reihenfolge umkehrt (Typen werden von generischer zu spezifischer bestellt).<\/li>\n<\/ul>\n<p>Derzeit hat PHP mit wenigen Ausnahmen meist invariante Parameter- und R\u00fcckgabetypen. Dieser RFC schl\u00e4gt vor, Kovarianz und Kontravarianz f\u00fcr Parametertypen und R\u00fcckgabetypen zuzulassen und bietet mehrere Beispiele f\u00fcr Code.<\/p>\n<p>Hier ist ein Beispiel f\u00fcr den <strong>kovarianten R\u00fcckgabetyp<\/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>Und hier ist ein Beispiel f\u00fcr einen <strong>kontravarianten 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>Siehe <a href=\"https:\/\/wiki.php.net\/rfc\/covariant-returns-and-contravariant-parameters\">RFC<\/a> f\u00fcr einen genaueren Blick auf Kovarianz und Kontravarianz in PHP 7.4.<\/p>\n<p>Dieser RFC wurde mit 39 zu 1 Stimmen verabschiedet.<\/p>\n<h3 id=\"preloading\">Preloading<\/h3>\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/preload\">Dieser Vorschlag <\/a>von Dmitri Stogov ist einer unserer Favoriten, weil er eine deutliche Leistungssteigerung bringen sollte. <strong>Preloading<\/strong> ist der Prozess des Ladens von Bibliotheken und Frameworks in den <a href=\"https:\/\/www.php.net\/manual\/en\/book.opcache.php\">OPCache<\/a> bei der Modulinitialisierung (lese mehr \u00fcber den <a href=\"http:\/\/www.phpinternalsbook.com\/php7\/extensions_design\/php_lifecycle.html\">PHP-Lebenszyklus<\/a>).<\/p>\n<figure style=\"width: 335px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/05\/php-lebenszyklus.png\" alt=\"PHP Lebenszyklus\" width=\"335\" height=\"323\"><figcaption class=\"wp-caption-text\">PHP Lebenszyklus (Bildquelle: <a href=\"https:\/\/phpinternals.net\/categories\/extensions\">PHP Internals<\/a>)<\/figcaption><\/figure>\n<p>Hier ist, wie das Vorladen mit den Worten von Dmitry funktioniert:<\/p>\n<blockquote><p>Beim Start des Servers &#8211; bevor ein Anwendungscode ausgef\u00fchrt wird &#8211; k\u00f6nnen wir einen bestimmten Satz von PHP-Dateien in den Speicher laden &#8211; und deren Inhalt f\u00fcr alle nachfolgenden Anfragen, die von diesem Server bedient werden, &#8222;permanent verf\u00fcgbar&#8220; machen. Alle in diesen Dateien definierten Funktionen und Klassen stehen f\u00fcr Anfragen sofort zur Verf\u00fcgung, genau wie interne Einheiten.<\/p><\/blockquote>\n<p>Diese Dateien werden beim Start des Servers geladen, vor jeder Anwendung ausgef\u00fchrt und bleiben f\u00fcr zuk\u00fcnftige Anfragen verf\u00fcgbar. Das ist gro\u00dfartig in Bezug auf die Leistung.<\/p>\n<p>Das Preloading wird durch eine spezielle php.ini Anweisung gesteuert: <code>opcache.preload<\/code>. Diese Anweisung spezifiziert ein PHP-Skript, das beim Start des Servers kompiliert und ausgef\u00fchrt wird. Diese Datei kann verwendet werden, um zus\u00e4tzliche Dateien vorzuladen, entweder inklusive oder \u00fcber die Funktion <code>opcache_compile_file()<\/code> (lese mehr \u00fcber die <a href=\"https:\/\/www.php.net\/manual\/en\/function.opcache-compile-file.php\">PHP-Dokumentation<\/a>).<\/p>\n<p>Aber es gibt einen Nachteil. Tats\u00e4chlich wird im RFC ausdr\u00fccklich darauf hingewiesen:<\/p>\n<blockquote><p>vorgeladene Dateien bleiben im Opcache-Speicher f\u00fcr immer zwischengespeichert. Die \u00c4nderung der entsprechenden Quelldateien hat ohne einen erneuten Serverneustart keine Auswirkungen.<\/p><\/blockquote>\n<p>Alle Funktionen, die in vorgeladenen Dateien definiert sind, werden jedoch dauerhaft in PHP-Funktions- und Klassentabellen geladen und bleiben f\u00fcr jede zuk\u00fcnftige Anforderung verf\u00fcgbar. Dies wird zu guten Leistungssteigerungen f\u00fchren, auch wenn diese Verbesserungen erheblich variabel sein k\u00f6nnen.<\/p>\n<p>Mehr \u00fcber die Einschr\u00e4nkungen und Ausnahmen des Preloading erf\u00e4hrst du auf der offiziellen <a href=\"https:\/\/wiki.php.net\/rfc\/preload\">Preloading RFC-Seite<\/a>.<\/p>\n<h3 id=\"serialization\">Neuer Mechanismus zur Serialisierung benutzerdefinierter Objekte<\/h3>\n<p>Dies ist ein <a href=\"https:\/\/nikic.github.io\/aboutMe.html\">weiterer Vorschlag<\/a> von Nikita Popov, der mit gro\u00dfer Mehrheit angenommen wurde.<\/p>\n<p>Derzeit haben wir zwei verschiedene Mechanismen f\u00fcr die benutzerdefinierte Serialisierung von Objekten in PHP:<\/p>\n<ul>\n<li>Die magischen Methoden <code>__sleep()<\/code> und <code>__wakeup()<\/code><\/li>\n<li>Die <code>Serializable<\/code> Schnittstelle<\/li>\n<\/ul>\n<p>Laut Nikita haben beide Optionen Probleme, die zu komplexem und unzuverl\u00e4ssigem Code f\u00fchren. Im <a href=\"https:\/\/wiki.php.net\/rfc\/custom_object_serialization\">RFC<\/a> kannst du tief in dieses Thema eintauchen. Hier erw\u00e4hne ich nur, dass der neue Serialisierungsmechanismus diese Probleme verhindern sollte, indem er zwei neue magische Methoden zur Verf\u00fcgung stellt, <code>__serialize()<\/code> und <code>__unserialize()<\/code>, die die beiden bestehenden Mechanismen kombinieren.<\/p>\n<p>Dieser Vorschlag wurde mit 20 zu 7 Stimmen angenommen.<\/p>\n<h3 id=\"deprecations\">Verwerfungen<\/h3>\n<p>Die folgenden Funktionen\/Funktionalit\u00e4ten werden mit PHP 7.4 veraltet sein. Eine umfassendere Liste der Verwerfungen findest du in <a href=\"https:\/\/github.com\/php\/php-src\/blob\/PHP-7.4\/UPGRADING\">PHP 7.4 Upgrade Notes<\/a>.<\/p>\n<h4>\u00c4ndern der Priorit\u00e4t des Verkn\u00fcpfungsoperators<\/h4>\n<p>Derzeit werden in PHP die arithmetischen Operatoren &#8222;+&#8220; und &#8222;-&#8220; und der Zeichenkettenoperator &#8222;.&#8220; assoziativ belassen und haben den gleichen Vorrang (lese mehr \u00fcber die <a href=\"https:\/\/www.php.net\/manual\/en\/language.operators.precedence.php\">Operatorpriorit\u00e4t<\/a>).<\/p>\n<p>Betrachte als Beispiel die folgende Zeile:<\/p>\n<pre><code class=\"language-php\">echo \"sum: \" . $a + $b;<\/code><\/pre>\n<p>In PHP 7.3 erzeugt dieser Code die folgende Warnung:<\/p>\n<pre><code class=\"language-php\">Warning: A non-numeric value encountered in \/app\/types.php on line 4<\/code><\/pre>\n<p>Denn die Verkettung wird von links nach rechts ausgewertet. Es ist dasselbe wie das Schreiben des folgenden Codes:<\/p>\n<pre><code class=\"language-php\">echo (\"sum: \" . $a) + $b;<\/code><\/pre>\n<p><a href=\"https:\/\/www.php.net\/manual\/en\/language.operators.precedence.php\">Dieser RFC<\/a> schl\u00e4gt vor, die Priorit\u00e4t von Operatoren zu \u00e4ndern, indem er &#8222;&#8230;&#8220; eine niedrigere Priorit\u00e4t als &#8222;+&#8220; und &#8222;-&#8220; Operatoren gibt, so dass Additionen und Subtraktionen immer vor der Zeichenkettenverkettung durchgef\u00fchrt werden. Diese Codezeile sollte mit der folgenden \u00fcbereinstimmen:<\/p>\n<pre><code class=\"language-php\">echo \"sum: \" . ($a + $b);<\/code><\/pre>\n<p>Dies ist ein zweistufiger Vorschlag:<\/p>\n<ul>\n<li>Ab Version 7.4 sollte PHP einen Verfallshinweis ausgeben, wenn es auf einen unklammerten Ausdruck mit &#8222;+&#8220;, &#8222;-&#8220; und &#8222;.&#8220; trifft.<\/li>\n<li>Die tats\u00e4chliche \u00c4nderung der Priorit\u00e4t dieser Operatoren sollte mit <a href=\"https:\/\/kinsta.com\/de\/blog\/php-8\/\">PHP 8<\/a> hinzugef\u00fcgt werden.<\/li>\n<\/ul>\n<p>In beiden F\u00e4llen wurden die Vorschl\u00e4ge mit gro\u00dfer Mehrheit angenommen.<\/p>\n<h4>Verwerfen des links-assoziativen tern\u00e4ren Operator<\/h4>\n<p>In PHP ist der tern\u00e4re Operator, im Gegensatz zu vielen anderen Sprachen, links-assoziativ. Laut Nikita Popof kann dies f\u00fcr Programmierer, die zwischen verschiedenen Sprachen wechseln, verwirrend sein.<\/p>\n<p>Derzeit ist in PHP der folgende Code korrekt:<\/p>\n<pre><code class=\"language-php\">$b = $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : 'other';<\/code><\/pre>\n<p>Es wird interpretiert als:<\/p>\n<pre><code class=\"language-php\">$b = (($a == 1 ? 'one' : $a == 2) ? 'two' : $a == 3) ? 'three' : 'other';<\/code><\/pre>\n<p>Und das k\u00f6nnte zu Fehlern f\u00fchren, weil es vielleicht nicht das ist, was wir vorhaben zu tun. Dieser RFC schl\u00e4gt also vor, die Verwendung von Linksassoziativit\u00e4t f\u00fcr tern\u00e4re Operatoren zu verwerfen und zu entfernen und Entwickler zu zwingen, Klammern zu verwenden.<\/p>\n<p>Dies ist ein weiterer zweistufiger Vorschlag:<\/p>\n<ul>\n<li>Ab PHP 7.4 werden verschachtelte Ternaries ohne explizite Verwendung von Klammern eine Verfallswarnung ausl\u00f6sen.<\/li>\n<li>Ab <a href=\"https:\/\/kinsta.com\/de\/blog\/php-8\/\">PHP 8.0<\/a> gibt es einen Kompilier-Laufzeitfehler.<\/li>\n<\/ul>\n<p>Dieser Vorschlag wurde mit 35 bis 10 Stimmen angenommen.<\/p>\n<h2 id=\"what-does-php-73-mean-for-wordpress-users\">Was bedeutet PHP 7.4 f\u00fcr WordPress-Benutzer?<\/h2>\n<p>PHP ist die am weitesten verbreitete serverseitige Programmiersprache im Web. Laut W3Techs wird PHP seit dem 2. Dezember 2019 von 78,9% aller Websites verwendet, deren serverseitige Programmiersprache sie erkennen k\u00f6nnen. PHP Nutzung.<br \/>\n<div><\/div><kinsta-auto-toc list-style=\"disc\" selector=\"h3\" count-number=\"5\" sub-toc=\"true\"><\/kinsta-auto-toc><\/p>\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\/wp-content\/uploads\/2019\/06\/php-versions-1.png\" alt=\"PHP Nutzung \" width=\"1376\" height=\"654\"><figcaption id=\"caption-attachment-63301\" class=\"wp-caption-text\">PHP Nutzung (Dezember 2019)<\/figcaption><\/figure>\n<p>Leider wird <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/5\/all\">PHP 5 immer noch von 44,0% aller Websites<\/a> mit einer bekannten serverseitigen Programmiersprache verwendet. Wenn du <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/7\/all\">die Anzahl der Benutzer hinzuf\u00fcgst, die noch PHP 7.0 und 7.1 verwenden,<\/a> stellt sich heraus, dass eine gro\u00dfe Mehrheit der Websites nicht unterst\u00fctzte Versionen von PHP ausf\u00fchren.<\/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\/wp-content\/uploads\/2018\/06\/supported-php-versions-for-wordpress-1.png\" alt=\"Unterst\u00fctzte PHP Versionen\" width=\"1726\" height=\"332\"><figcaption id=\"caption-attachment-63275\" class=\"wp-caption-text\">Unterst\u00fctzte PHP Versionen (Bildquelle: <a href=\"https:\/\/www.php.net\/supported-versions.php\">Supported Versions<\/a>)<\/figcaption><\/figure>\n<p>Laut der offiziellen <a href=\"https:\/\/wordpress.org\/about\/stats\/\">WordPress Stats Seite<\/a>, zum Zeitpunkt des Schreibens, satte 64% aller WordPress Websites laufen auf nicht unterst\u00fctzten Versionen von PHP. Nur etwas mehr als 13% verwenden <a href=\"https:\/\/kinsta.com\/de\/changelog\/php-7-3\/\">PHP 7.3<\/a>. Und die neueste Version, PHP 7.4, ist noch nicht einmal zu sehen. Du kannst sehen, dass die gro\u00dfe Mehrheit der Benutzer, \u00fcber 23%, immer noch mit PHP 5.6 arbeiten. WordPress PHP Versionen Statistik<\/p>\n<figure id=\"attachment_63288\" aria-describedby=\"caption-attachment-63288\" style=\"width: 1390px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-63288\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2017\/03\/wordpress-php-versions-stats-3.png\" alt=\"WordPress PHP version Stats\" width=\"1390\" height=\"1156\"><figcaption id=\"caption-attachment-63288\" class=\"wp-caption-text\"><span lang=\"HU\">WordPress PHP Versionen Statistik<\/span><\/figcaption><\/figure>\n<p>Wir empfehlen dir dringend, deinen Host nach einer <a href=\"https:\/\/kinsta.com\/de\/blog\/php-versionen\/\">unterst\u00fctzten Version von PHP<\/a> zu fragen, vorzugsweise nach den <a href=\"https:\/\/wordpress.org\/about\/requirements\/\">offiziellen Anforderungen von WordPress<\/a>. Zum Zeitpunkt dieses Schreibens, Mai 2019, ben\u00f6tigt WordPress:<\/p>\n<ul>\n<li>PHP Version 7.3 oder h\u00f6her<\/li>\n<li>MySQL Version 5.6 oder h\u00f6her OR <a href=\"https:\/\/kinsta.com\/de\/blog\/mariadb-versus-mysql\/\">MariaDB<\/a> Version 10.1 oder h\u00f6her<\/li>\n<li>HTTPS-Unterst\u00fctzung<\/li>\n<\/ul>\n<h3 id=\"php-7-performance\">PHP 7 Leistung<\/h3>\n<p>Die obigen Zahlen sind besonders entmutigend aus Performance-Sicht, da sich PHP 7 als wesentlich schneller erwiesen hat. Hier sind ein paar Statistiken:<\/p>\n<ul>\n<li>Offizielle PHP-<a href=\"http:\/\/talks.php.net\/fluent15#\/wpbench\">Benchmarks<\/a> zeigen, dass PHP 7 es dem System erm\u00f6glicht, doppelt so viele Anfragen pro Sekunde im Vergleich zu PHP 5.6 bei fast der H\u00e4lfte der Latenzzeit auszuf\u00fchren.<\/li>\n<li>Christian Vigh ver\u00f6ffentlichte auch einen <a href=\"https:\/\/www.phpclasses.org\/blog\/post\/493-php-performance-evolution.html\">PHP-Leistungsvergleich<\/a>, in dem er feststellte, dass PHP 5.2 400% langsamer war als PHP 7.<\/li>\n<li>Andrei Avram sah schnellere Ausf\u00fchrungszeiten und <a href=\"https:\/\/blog.andreiavram.ro\/updates-php-performance-increase\/\">weniger Speicherverbrauch in PHP 7.4 <\/a>gegen\u00fcber PHP 7.3.<\/li>\n<li>Phoronix f\u00fchrte einige fr\u00fche <a href=\"https:\/\/phoronix.com\/scan.php?page=news_item&#038;px=PHP-7.4-Early-Benchmarks\">Benchmark-Tests mit PHP 7.4 Alpha<\/a> durch und stellte fest, dass es etwas schneller war als 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>Wir haben unsere eigenen <a href=\"https:\/\/kinsta.com\/de\/blog\/php-benchmarks\/\">PHP-Leistungsbenchmarks<\/a> mit PHP 7.3 durchgef\u00fchrt. Wir haben gesehen, dass WordPress 5.0 auf PHP 7.3 fast dreimal so viele Transaktionen (Anfragen) pro Sekunde ausf\u00fchren kann wie PHP 5.6. <strong>Wir werden in K\u00fcrze PHP 7.4 Benchmarks ver\u00f6ffentlichen!<\/strong><\/p>\n<figure style=\"width: 940px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2018\/12\/wordpress-50-php-benchmarks-de.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 req\/sec<\/li>\n<li>WordPress 5.0 PHP 7.0 Benchmark-Ergebnisse: 206.71 req\/sec<\/li>\n<li>WordPress 5.0 PHP 7.1 Benchmark-Ergebnisse: 210,98 req\/sec<\/li>\n<li>WordPress 5.0 PHP 7.2 Benchmark-Ergebnisse: 229.18 req\/sec<\/li>\n<li>WordPress 5.0 <strong>PHP 7.3 Benchmark-Ergebnisse: 253.20 req\/sec\ud83c\udfc6<\/strong><\/li>\n<\/ul>\n<p>Viele sind langsam zu aktualisieren, einfach wegen der Zeit, die mit dem Testen neuer all ihrer Plugins und Designs von Drittanbietern verbunden ist, um sicherzustellen, dass sie ordnungsgem\u00e4\u00df funktionieren. Aber oft kommt es darauf an, dass sie es einfach noch nicht getan haben.<\/p>\n<h3 id=\"checking-your-php-version\">\u00dcberpr\u00fcfe deine PHP-Version<\/h3>\n<p>Du bist dir nicht sicher, welche Version von PHP du verwendest? Eine der einfachsten M\u00f6glichkeiten, dies zu \u00fcberpr\u00fcfen, ist die Verwendung eines Tools wie <a href=\"https:\/\/kinsta.com\/de\/blog\/pingdom-speed-test\/\">Pingdom<\/a> oder Google Chrome Devtools. Der erste HTTP-Request-Header zeigt dir typischerweise die Version an.<\/p>\n<figure style=\"width: 1542px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/06\/php-version-pingdom-uberprufen.png\" alt=\"PHP-Version in Pingdom \u00fcberpr\u00fcfen\" width=\"1542\" height=\"864\"><figcaption class=\"wp-caption-text\">PHP-Version in Pingdom \u00fcberpr\u00fcfen<\/figcaption><\/figure>\n<p>Dies setzt voraus, dass der Host den <code>X-Powered-By<\/code> Header-Wert nicht \u00e4ndert. Viele tun dies jedoch aus Sicherheitsgr\u00fcnden (einschlie\u00dflich Kinsta). Wenn ja, siehst du m\u00f6glicherweise deine PHP-Version nicht. In diesem Fall, wenn du <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-5-2\/\">WordPress 5.2<\/a> oder h\u00f6her ausf\u00fchrst, gibt es ein neues Site Health Tool, das du verwenden kannst. Gehe zu &#8222;Tools&#8220; \u2192 &#8222;Site Health&#8220; \u2192 &#8222;Info&#8220; und unter dem Abschnitt &#8222;Server&#8220; findest du die PHP-Version deines Servers.<\/p>\n<figure style=\"width: 1954px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/06\/uberprufe-php-version-wordpress-sitht.png\" alt=\"\u00dcberpr\u00fcfe die PHP-Version mit WordPress Site Health Tool\" width=\"1954\" height=\"720\"><figcaption class=\"wp-caption-text\">\u00dcberpr\u00fcfe die PHP-Version mit WordPress Site Health Tool<\/figcaption><\/figure>\n<p>Alternativ kannst du auch ein kostenloses Plugin wie <a href=\"https:\/\/wordpress.org\/plugins\/version-info\/\">Version Info<\/a> installieren, das dir einige grundlegende Serverinformationen in der Fu\u00dfzeile deines WordPress Admin Dashboards anzeigt. Ein paar andere M\u00f6glichkeiten, deine PHP-Version zu sehen, sind das <a href=\"https:\/\/kinsta.com\/de\/blog\/php-versionen\/\">Hochladen einer Datei per FTP<\/a> oder einfach die Kontaktaufnahme mit deinem Host und die Frage.<\/p>\n<h3 id=\"updating-to-php-74\">Aktualisierung auf PHP 7.4<\/h3>\n<p><strong>Die endg\u00fcltige Version von PHP 7.4 ist ab sofort bei Kinsta erh\u00e4ltlich. <\/strong> Alternativ kannst du <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-lokal-installieren\/\">deine WordPress-Seite lokal testen<\/a> oder deine Skripte in einer Umgebung wie <a href=\"https:\/\/docs.docker.com\/get-started\/\">Docker<\/a> \u00fcberpr\u00fcfen, die es dir erm\u00f6glicht, verschiedene Versionen von PHP von der Kommandozeile aus zu testen.<\/p>\n<p>Der einfachste Weg, <a href=\"https:\/\/kinsta.com\/de\/docs\/wordpress-hosting\/staging-umgebung\/\">mit dem Testen zu beginnen, besteht darin, eine Stagingumgebung<\/a> zu erstellen, da diese sehr \u00e4hnlich wie deine Live-Seite ist. Klicke im MyKinsta Dashboard auf deine Seite und \u00e4ndere die Umgebung auf Staging.<\/p>\n<figure id=\"attachment_46064\" aria-describedby=\"caption-attachment-46064\" style=\"width: 2560px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-46064 size-full\" src=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/07\/mykinsta-change-environment.png\" alt=\"WordPress Staging Umgebung erstellen\" width=\"2560\" height=\"1442\" srcset=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/07\/mykinsta-change-environment.png 2560w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/07\/mykinsta-change-environment-300x169.png 300w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/07\/mykinsta-change-environment-1024x577.png 1024w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/07\/mykinsta-change-environment-768x433.png 768w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/07\/mykinsta-change-environment-1536x865.png 1536w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/07\/mykinsta-change-environment-2048x1154.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption id=\"caption-attachment-46064\" class=\"wp-caption-text\">WordPress Staging Umgebung erstellen<\/figcaption><\/figure>\n<p>Stelle dann unter dem Men\u00fc &#8222;Tools&#8220; deine PHP-Engine auf PHP 7.4 um. Du kannst dann mit dem Testen beginnen, um die Kompatibilit\u00e4t von Code, Plugins von Drittanbietern und Designs sicherzustellen.<\/p>\n<p>Wie bei fr\u00fcheren Versionen von PHP unterst\u00fctzt unsere <a href=\"https:\/\/kinsta.com\/de\/changelog\/automatische-mysql-datenbankoptimierung-selbstheilendes-php-gcp-firewall\/#selfhealing-php\">selbstheilende PHP-Funktion<\/a> PHP 7.4 vollst\u00e4ndig. Sollte PHP aus irgendeinem Grund ausfallen, werden wir es automatisch neu starten. Wenn der Neustart das Problem nicht behebt, wird unser \u00dcberwachungssystem unser <a href=\"https:\/\/kinsta.com\/de\/blog\/sysadmin\/\">Systemadministrator-Team<\/a> benachrichtigen, um die Ursache des Problems zu untersuchen.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-important\">\n            <h3>Important<\/h3>\n        <p>Auch wenn es sich um eine stabile Version handelt, empfehlen wir allen, PHP 7.4 zu testen, bevor man es auf der eigenen Website einsetzt.<\/p>\n<\/aside>\n\n<figure id=\"attachment_45662\" aria-describedby=\"caption-attachment-45662\" style=\"width: 2560px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-45662 size-full\" src=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/09\/mykinsta-switch-php-2.png\" alt=\"Wechsel zu PHP 7.4\" width=\"2560\" height=\"1442\" srcset=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/09\/mykinsta-switch-php-2.png 2560w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/09\/mykinsta-switch-php-2-300x169.png 300w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/09\/mykinsta-switch-php-2-1024x577.png 1024w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/09\/mykinsta-switch-php-2-768x433.png 768w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/09\/mykinsta-switch-php-2-1536x865.png 1536w, https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2020\/09\/mykinsta-switch-php-2-2048x1154.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption id=\"caption-attachment-45662\" class=\"wp-caption-text\">Wechsel zu PHP 7.4<\/figcaption><\/figure>\n<p><span lang=\"HU\">Einzelheiten zur Ver\u00f6ffentlichung von <a href=\"https:\/\/kinsta.com\/de\/changelog\/php-7-4\/\">PHP 7.4 findest du bei Kinsta<\/a>.<\/span><\/p>\n<h3>Installation und Ausf\u00fchrung von PHP 7.4 auf Docker<\/h3>\n<p>Willst du es auf Docker testen? Gl\u00fccklicherweise musst du PHP 7.4 nicht manuell kompilieren und konfigurieren. Wenn du bereits Docker auf deinem System installiert hast, musst du nur das inoffizielle <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-7.4\">PHP-FPM 7.4 Docker Image<\/a> installieren und deine Tests von der Kommandozeile aus in wenigen Sekunden ausf\u00fchren.<\/p>\n<figure style=\"width: 570px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/05\/nginx-docker-image-installieren.png\" alt=\"Nginx Docker Image installieren\" width=\"570\" height=\"365\"><figcaption class=\"wp-caption-text\">Nginx Docker Image installieren<\/figcaption><\/figure>\n<p>Wenn du es vorziehst, deinen PHP 7.4-Code in deinem Browser auszuf\u00fchren, musst du auch ein <a href=\"https:\/\/kinsta.com\/de\/blog\/nginx-vs-apache\/\">Nginx- oder Apache<\/a>-Image installieren. Aber keine Sorge. Folge einfach den <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-7.4#example\">Anweisungen des Entwicklers.<\/a> Kopiere und f\u00fcge die Befehle von der Docker Image-Seite in dein Kommandozeilen-Tool ein, und schon kannst du loslegen.<\/p>\n\n<h2>Zusammenfassung<\/h2>\n<p>In diesem Beitrag haben wir eine ganze Reihe von \u00c4nderungen und Erg\u00e4nzungen behandelt, die wir mit der Ver\u00f6ffentlichung von PHP 7.4 erwarten k\u00f6nnen. Wenn du die vollst\u00e4ndige Liste der Funktionen zusammen mit der offiziellen RFC-Dokumentation suchst, schau dir die folgenden Ressourcen an:<\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc#php_74\">PHP 7.4 Anfragen f\u00fcr Kommentare<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/php\/php-src\/blob\/PHP-7.4\/UPGRADING\">PHP 7.4 Upgrade Hinweise<\/a><\/li>\n<li><a href=\"https:\/\/wiki.php.net\/todo\/php74\">PHP 7.4 Vorbereitungsaufgaben<\/a><\/li>\n<\/ul>\n<p><span lang=\"HU\">Wir halten dich auf dem Laufenden mit den neuesten Informationen zu PHP 7.4. Wenn du ein Kinsta-Kunde bist, kannst du schon jetzt deine WordPress-Seiten auf die neueste Version umstellen.<\/span><\/p>\n<p>Bist du bereit, die kommenden PHP-Funktionen zu testen? Welches ist dein Favorit? Teile deine Gedanken mit uns in den Kommentaren unten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP 7.4, das n\u00e4chste PHP 7 Minor Release, wurde am 28. November 2019 f\u00fcr die allgemeine Verf\u00fcgbarkeit freigegeben. Es ist also Zeit f\u00fcr uns, in einige &#8230;<\/p>\n","protected":false},"author":36,"featured_media":26287,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[38,28],"topic":[971],"class_list":["post-26274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-php","tag-webdev","topic-php-updates"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)<\/title>\n<meta name=\"description\" content=\"PHP 7.4 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!\" \/>\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\/de\/blog\/php-7-4\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)\" \/>\n<meta property=\"og:description\" content=\"PHP 7.4 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-13T12:31:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-21T08:15:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/DE-Homepage-featured-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\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 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!\" \/>\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_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Daniele\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"18\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)\",\"datePublished\":\"2019-08-13T12:31:42+00:00\",\"dateModified\":\"2023-08-21T08:15:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/\"},\"wordCount\":3257,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg\",\"keywords\":[\"php\",\"webdev\"],\"articleSection\":[\"WordPress Entwicklung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/\",\"name\":\"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg\",\"datePublished\":\"2019-08-13T12:31:42+00:00\",\"dateModified\":\"2023-08-21T08:15:14+00:00\",\"description\":\"PHP 7.4 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg\",\"width\":1460,\"height\":730,\"caption\":\"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP-Updates\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/php-updates\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"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\/de\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\",\"name\":\"Carlo Daniele\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/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\/de\/blog\/author\/carlodaniele\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)","description":"PHP 7.4 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!","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\/de\/blog\/php-7-4\/","og_locale":"de_DE","og_type":"article","og_title":"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)","og_description":"PHP 7.4 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!","og_url":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2019-08-13T12:31:42+00:00","article_modified_time":"2023-08-21T08:15:14+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/DE-Homepage-featured-image.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"PHP 7.4 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!","twitter_image":"https:\/\/kinsta.com\/wp-content\/uploads\/2019\/06\/php-7.4.jpg","twitter_creator":"@carlodaniele","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Carlo Daniele","Gesch\u00e4tzte Lesezeit":"18\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)","datePublished":"2019-08-13T12:31:42+00:00","dateModified":"2023-08-21T08:15:14+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/"},"wordCount":3257,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg","keywords":["php","webdev"],"articleSection":["WordPress Entwicklung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/php-7-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/","url":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/","name":"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg","datePublished":"2019-08-13T12:31:42+00:00","dateModified":"2023-08-21T08:15:14+00:00","description":"PHP 7.4 kommt mit neuen Funktionen, Verwerfungen und einem Leistungsschub. Schau dir diese ausf\u00fchrliche \u00dcbersicht an, was es Neues in PHP 7.4 gibt!","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/php-7-4\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2019\/08\/was-ist-neu-php-7-4.jpg","width":1460,"height":730,"caption":"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/php-7-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"PHP-Updates","item":"https:\/\/kinsta.com\/de\/thema\/php-updates\/"},{"@type":"ListItem","position":3,"name":"Was ist neu in PHP 7.4 (Features, Verwerfungen, Geschwindigkeit)"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","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\/de\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63","name":"Carlo Daniele","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/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\/de\/blog\/author\/carlodaniele\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/26274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=26274"}],"version-history":[{"count":16,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/26274\/revisions"}],"predecessor-version":[{"id":57769,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/26274\/revisions\/57769"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/it"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/nl"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/fr"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/dk"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/jp"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/de"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/se"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/translations\/pt"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/26274\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/26287"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=26274"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=26274"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=26274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}