Maison > titres > Nouvelles fonctionnalités de PHP7.3 : des structures syntaxiques flexibles heredoc et nowdoc seront introduites

Nouvelles fonctionnalités de PHP7.3 : des structures syntaxiques flexibles heredoc et nowdoc seront introduites

无忌哥哥
Libérer: 2018-07-12 10:43:19
original
2786 Les gens l'ont consulté

Nouvelles fonctionnalités de PHP7.3 : des structures syntaxiques flexibles heredoc et nowdoc seront introduites

Le canal RFC php.net a annoncé les mises à jour de la syntaxe Heredoc et Nowdoc pour PHP 7.3. Cette mise à jour se concentre sur la lisibilité du code :

Heredoc et Nowdoc ont. une syntaxe très stricte, qui pousse parfois de nombreux développeurs à l'éviter car elle semble très moche dans le code, rendant le code moins lisible. Pour résoudre ce problème, cette mise à jour apporte les deux modifications suivantes à la syntaxe :

  1. prend en charge l'indentation des balises de fermeture

  2. Ne force plus le retour à la ligne ; de balises de fermeture ;

À partir de l'implémentation actuelle de PHP 7.2, comme cet exemple simple :

<?php
class foo {
    public $bar = <<<EOT
bar
EOT;
}
Copier après la connexion

dans la version 7.3, les formulaires suivants sont disponible :

<?php
class foo {
    public $bar = <<<EOT
    bar
    EOT;
}
Copier après la connexion

L'indentation de la balise de fermeture détermine le nombre d'espaces par nouvelle ligne dans heredoc/nowdoc :

<?php

// 4 个缩进空格
echo <<<END
      a
     b
    c
    END;
/*
  a
 b
c
*/
Copier après la connexion

en PHP Dans l'implémentation actuelle de 7.2, une nouvelle ligne doit exister pour mettre fin à un heredoc/nowdoc. PHP 7.3 supprime cette contrainte :

<?php

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

$values = [<<<END
a
b
c
END, 'd e f'];
Copier après la connexion

Contexte de Heredoc et Nowdoc

Nowdoc est pris en charge à partir de la version PHP 5.3.0. La seule différence entre Heredoc et Heredoc réside dans les guillemets doubles. La différence avec. guillemets simples. Nowdoc ajoute des guillemets simples autour de la balise de début, et il n'y a pas d'analyse :

<?php

$name = 'Example';
$str = <<<'EOD'
Example of string $name
spanning multiple lines
using nowdoc syntax.
EOD;
Copier après la connexion

Le nowdoc ci-dessus affichera :

Example of string $name
spanning multiple lines
using nowdoc syntax.
Copier après la connexion

Ici, la définition du document sur le wiki :

En informatique, un document here, également connu sous le nom d'hérdoc, hereis, here-string ou here-script, est une entrée de fichier ou une entrée de flux de données : un bloc de code qui peut être traité comme un fichier complet. Il peut enregistrer des caractères d'espacement tels que des sauts de ligne ou des retraits dans le texte. Certains langages autorisent la substitution de variables et la substitution de commandes dans les chaînes.

Les améliorations apportées à Heredocs et Nowdocs rendront votre code PHP plus lisible et plus sujet aux erreurs. D'un autre côté, le résultat est plus concis et direct car l'indentation qui fermerait le balisage est supprimée.

Pour plus d'informations

Il est recommandé de lire le document de modification officiel - RFC flexible Heredoc et Nowdoc Syntaxes. Documentation officielle PHP Heredoc et Nowdoc.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal