[RESOLU] echo balise html ou balise html que privélégier

Eléphant du PHP | 385 Messages

04 mai 2017, 11:22

Bonjour à tous,

Pourriez vous m'aider?

j'aurais une petite question que je me pose exemple faut il privilégier

Code : Tout sélectionner

echo '<h1>hello</h1>'
ou

Code : Tout sélectionner

<h1>hello</h1>'
car je vois souvent dans des sources sur github la 1er version, je pense que le 1er code php doit analyser le code donc moins optimisé .

Vous en pensez quoi?

Mammouth du PHP | 2703 Messages

04 mai 2017, 14:02

la différence est minine.

pour une longue portion de code html fixe, c'est plus clair de le mettre directement en html.
mais s'il y a de nombreux :
echo "<h1>$titre</h1>";
mieux vaux le faire en php.

Eléphant du PHP | 385 Messages

04 mai 2017, 21:46

Merci,

ça répond à ma question.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 mai 2017, 00:48

salut,

au passage il existe d'autre façon d'afficher en php.
Tu peux voir du coté de la syntaxe heredoc / nowdoc

Le problème que tu soulèves est généralement un problème de performance. Dans ce cas ne pas utiliser les doubles quotes mais directement la concaténation et des simples quotes, celà va éviter une analyse syntaxique (parfois / souvent coûteuse) de la chaîne de caractère.
donc echo '<h1>'.$titre.'</h1>'; plutôt que echo "<h1>$titre</h1>";
voir même echo '<h1>' , $titre , '</h1>';
oui la virgule sert aussi à la concaténation, a priori plus rapide que le point ...

ensuite c'est la lisibilité du code qui prime, donc la remarque de or1 est plus que bonne, si statique par besoin d'utiliser php.
si c'est pour une balise html autant utiliser php et éviter les imbrications d'ouverture / fermeture qui au final rende le code illisible.
il existe aussi un sucre syntaxique pour l'affiche <?= $variable ?>

@+
Il en faut peu pour être heureux ......