Heim  >  Artikel  >  Neue Funktionen von PHP7.3: Es werden flexible Heredoc- und Nowdoc-Syntaxstrukturen eingeführt

Neue Funktionen von PHP7.3: Es werden flexible Heredoc- und Nowdoc-Syntaxstrukturen eingeführt

无忌哥哥
无忌哥哥Original
2018-07-12 10:43:192761Durchsuche

Neue Funktionen von PHP7.3: Es werden flexible Heredoc- und Nowdoc-Syntaxstrukturen eingeführt

Der php.net RFC-Kanal hat die Heredoc- und Nowdoc-Syntaxaktualisierungen für PHP 7.3 angekündigt. Dieses Update konzentriert sich auf die Lesbarkeit des Codes:

Heredoc und Nowdoc haben Eine sehr strenge Syntax, die viele Entwickler manchmal dazu veranlasst, sie zu meiden, weil sie im Code sehr hässlich aussieht und den Code weniger lesbar macht. Um dieses Problem zu beheben, werden mit diesem Update die folgenden zwei Änderungen an der Syntax vorgenommen:

  1. unterstützt das Einrücken schließender Tags.

  2. Erzwingt nicht mehr den Umbruch von schließenden Tags;

Aus der aktuellen Implementierung von PHP 7.2, wie in diesem einfachen Beispiel:

<?php
class foo {
    public $bar = <<<EOT
bar
EOT;
}

in Version 7.3, ist die folgende Form verfügbar:

<?php
class foo {
    public $bar = <<<EOT
    bar
    EOT;
}

Die Einrückung des schließenden Tags bestimmt die Anzahl der Leerzeichen pro neuer Zeile in Heredoc/Nowdoc:

<?php

// 4 个缩进空格
echo <<<END
      a
     b
    c
    END;
/*
  a
 b
c
*/

In der aktuellen Implementierung von PHP 7.2 muss eine neue Zeile vorhanden sein, um Heredoc/Nowdoc zu beenden. PHP 7.3 entfernt diese Einschränkung:

<?php

stringManipulator(<<<END
   a
  b
 c
END);

$values = [<<<END
a
b
c
END, 'd e f'];

Hintergrund von Heredoc und Nowdoc

Nowdoc wird ab PHP 5.3.0 unterstützt. Der einzige Unterschied zwischen ihm und Heredoc sind doppelte und einfache Anführungszeichen in Anführungszeichen. Nowdoc fügt einfache Anführungszeichen um das Start-Tag ein und es erfolgt keine Analyse:

<?php

$name = 'Example';
$str = <<<'EOD'
Example of string $name
spanning multiple lines
using nowdoc syntax.
EOD;

Das obige Nowdoc gibt Folgendes aus:

Example of string $name
spanning multiple lines
using nowdoc syntax.

Hier Dokumentdefinition im Wiki:

In der Informatik ist ein Here-Dokument, auch Heredoc, Hereis, Here-String oder Here-Script genannt, eine Dateieingabe oder Datenstromeingabe: ein Codeblock, der als vollständige Datei behandelt werden kann. Es kann Leerzeichen wie Zeilenumbrüche oder Einzüge im Text speichern. Einige Sprachen ermöglichen die Variablenersetzung und Befehlsersetzung innerhalb von Zeichenfolgen.

Verbesserungen in Heredocs und Nowdocs machen Ihren PHP-Code lesbarer und fehleranfälliger. Andererseits ist die Ausgabe prägnanter und direkter, da die Einrückung, die das Markup schließen würde, entfernt wird.

Für weitere Informationen

Es wird empfohlen, das offizielle Änderungsdokument zu lesen – flexible Heredoc- und Nowdoc-Syntaxen RFC. Offizielle PHP-Dokumentation Heredoc und Nowdoc.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn