41 votes

Échapper HTML à PHP ou utiliser Echo? Ce qui est mieux?

En termes de performance, quoi de mieux. Utiliser PHP pour faire écho à toute la sortie HTML afin que je puisse la repeindre avec les divers bits de code et variables de travail ou échapper HTML à PHP régulièrement dans les documents.

Je sais qu'il peut y avoir des problèmes de lisibilité, mais je ne suis pas inquiet à ce sujet.

Merci a tous!

Exemple 1

 echo '<html>',
     '<body>',
     'The content of the ',$container,' element is displayed in your ', $other_container,
     '</body>',
     '</html>';
 

OU

 <html>
<body>
The content of the <?php echo $container; ?> element is displayed in your <?php echo $other_container; ?>
</body>
</html>
 

34voto

nickf Points 185423

Il est tout au sujet de laquelle vous trouvez la plus lisible. Bien sûr, cela varie en fonction de chaque situation. Si vous aviez fait une page entière, et il y avait de grandes sections qui n'ont pas de PHP, alors je le ferais sortir de PHP et il suffit d'écrire le HTML, alors que si il y avait une section qui a eu beaucoup de variables PHP, j'aimerais tout faire en PHP.

Par exemple:

<table>
    <tr>
        <td colspan="<?php echo $numCols; ?>">
            <?php echo $a; ?>, <?php echo $b; ?>, and <?php echo $c?>
        </td>
    </tr>
</table>

contre:

<?php
echo "<table>"
    . "<tr>"
    .    "<td colspan=\"" . $numCols . "\">"
    .        $a . ", " . $b . " and " . $c
    .    "</td>"
    . "</tr>"
    . "</table>"
; ?>

Aussi, ne pas oublier printf

<?php
printf("<table>"
    . "<tr>"
    .    "<td colspan=\"%d\">%s, %s and %s</td>"
    . "</tr>"
    . "</table>"
    , $numCols
    , $a
    , $b
    , $c
);
?>

31voto

Stephane Grenier Points 5419

Celui qui est le plus facile à lire.

La différence de performance est assez négligeable comparée à presque tout autre problème que vous rencontrez. La lisibilité est sans aucun doute le premier problème ici.

22voto

Georg Schölly Points 63123

Citons le manuel :

L’exemple donné ici est bien sûr artificiel, mais pour la sortie de gros blocs de texte, abandonner le mode d’analyse PHP est généralement plus efficace que d’envoyer tout le texte par echo () ou print ().

Mais écoutez les autres, évitez ce type d’optimisation micro et choisissez celui qui est plus lisible.

8voto

Paolo Bergantino Points 199336

Cela n'a aucune incidence sur la vitesse globale de votre application, avec laquelle vous allez.

Cela étant dit, je sais que vous ne vous en souciez pas, mais utilisez le deuxième, car il est environ un million de fois plus facile à lire. Et la lisibilité est énorme .

8voto

notruthless Points 178

Je ne sais pas ce qu’il en est, mais en PHP, vous pouvez également utiliser ce que j’appelle un "Heredoc", ce qui, à mon avis, contribue à la lisibilité dans ce type de sortie.

Exemple de Nickf:

 <table>
    <tr>
        <td colspan="<?php echo $numCols; ?>">
            <?php echo $a; ?>, <?php echo $b; ?>, and <?php echo $c?>
        </td>
    </tr>
</table>
 

devient:

 <?php
echo <<<EOT
<table>
    <tr>
        <td colspan="$numCols">
            $a , $b, and  $c
        </td>
    </tr>
</table>

EOT;

?>
 

Je pense qu’en fin de compte, la lisibilité est une chose subjective. Votre kilométrage peut donc varier!

Ruth

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X