News

PHP 7.3 ist da – verbesserte Syntax und mehr

PHP-Logo-Varianten. (Foto: 360b / Shutterstock.com)

Das dritte Feature-Update für PHP 7 wurde veröffentlicht. Neben flexiblerer Heredoc- und Nowdoc-Syntax wurden auch alte Sprachkonstrukte entrümpelt. Das hat sich verändert.

Bereits im August gab es einen Feature-Freeze für das jetzt erschienene Update von PHP. Seitdem wurden die Funktionen nur noch optimiert und Fehler behoben.

Das sind die neuen Features von PHP 7.3

Da die Syntax von Heredoc und Nowdoc im Code meist furchtbar aussah, wurde hier an ein paar Schräubchen gedreht. So wurde die Einrückung der schließenden Markierung verbessert. Außerdem muss nach der Endmarkierung jetzt nicht mehr mit einer neuen Zeile begonnen werden. Die kompletten Änderungen mit zugehörigen Syntax-Beispielen können im PHP-Wiki eingesehen werden.

Auch ist es jetzt möglich, bei Funktionsaufrufen hinter dem letzten Parameter ein Komma zu setzen. Was erstmal merkwürdig klingt, macht es Entwicklern leichter, Funktionsaufrufe mit vielen Parametern zu schreiben. Wenn beispielsweise häufig weitere Argumente angehängt oder entfernt werden. So ist es syntaktisch nun vollkommen egal, ob ein Komma beim letzten Argument gesetzt wird oder nicht. Folgender Aufruf ist damit ohne Probleme möglich:

$newArray = array_merge(
    $arrayOne,
    $arrayTwo,
    ['foo', 'bar'],
);

Mit dem neuen Flag JSON_THROW_ON_ERROR wird die Fehlerbehandlung bei der Nutzung der beiden Funktionen json_decode beziehungsweise json_encode optimiert. In der List-Funktion können außerdem ab sofort Referenzen eingesetzt werden.

/* Dieser Code */
$array = [1, 2];
$a = $array[0];
$b =& $array[1];

/* ist in PHP 7.3 nun mit diesem äquivalent: */
$array = [1, 2];
list($a, &$b) = $array;

Zudem werden die beiden neuen Funktionen array_key_first und array_key_last eingeführt, mit denen der jeweils erste oder letzte Key eines Arrays ermittelt werden kann. Hingegen als deprecated markiert wurde die Funktion image2wbmp (wird ersetzt durch imagewbmp) sowie folgende Sprachkonstrukte:

  • Case-insensitive Konstanten
  • Undokumentierte mbstring Funktions-Aliasse
  • String-Search-Funktionen mit integer needle
  • Die fgetss-Funktion sowie der Filter string.strip_tags
  • Freistehende Definition der Funktion assert
  • Die Flags FILTER_FLAG_SCHEME_REQUIRED und FILTER_FLAG_HOST_REQUIRED
  • Die Direktive pdo_odbc.db2_instance_name von php.ini

All die Konstrukte und Funktionen sind als deprecated markiert und werden ab der PHP-Version 8 entfernt und sollten deswegen in aktuellen Projekten ebenfalls entfernt werden. Die kompletten Release-Notes könnt ihr mit guten Syntax-Beispielen in der offiziellen PHP-Wiki einsehen. Auch die ersten Features für PHP 7.4 könnt ihr dort bereits finden. Ein offizielles Release-Datum für die nächste Major-Version 8 steht hingegen noch nicht fest. Schätzungen belaufen sich sich jedoch erst auf den Herbst 2021.

Außerdem spannend: 62 Prozent der Websites nutzen immer noch PHP 5 – kurz vor Support-Ende

Bitte beachte unsere Community-Richtlinien

2 Reaktionen
Florence Maurice

Kleiner Hinweis, bei dem folgenden Satz fehlt die Verneinung: "Außerdem muss nach der Endmarkierung jetzt mit einer neuen Zeile begonnen werden. " - sollte sein: "Außerdem muss nach der Endmarkierung jetzt nicht mehr unbedingt ein Zeilenumbruch oder ein Strichpunkt folgen. "
Zitat "The closing marker for doc strings is no longer required to be followed by a semicolon or newline." von http://php.net/manual/de/migration73.new-features.php

Antworten
Andreas Domin

Hallo Florence,

da hast du natürlich recht. Passe ich selbstverständlich an :)

Grüße aus Hannover
Andreas

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung