0

私は、php と html が混在するサイトを構築しています。私の静的コンテンツは html であり、動的/データベース駆動のコンテンツは明らかに php でエコーアウトされます。しかし、私は時々phpでhtmlタグを追加することに気づきました。これはphpにある必要はありません。書くことの間に効率的な違いがあるのではないかと思っていました...

<?php
$result = mysql_query("SOME QUERY") or die(mysql_error());
$num_rows = mysql_num_rows($result);
echo "<ul id=\"someid\">";
while ($row = mysql_fetch_array($result)) {
echo "<li>RAR RAR</li>";
}
echo "</ul>";
echo "<div class=\"clearfix\"></div>";
?>

また

<ul id="someid">
<?php
$result = mysql_query("SOME QUERY") or die(mysql_error());
$num_rows = mysql_num_rows($result);
while ($row = mysql_fetch_array($result)) {
echo "<li>RAR RAR</li>";
}
?>
</ul>
<div class="clearfix"></div>

速度に違いはありますか?まったくない?私はただ興味があります。乾杯

4

2 に答える 2

2

一般的なベストプラクティスは、両方の例で行ったように HTML と PHP を混在させないことです。<?phpドキュメントを で開き、決して閉じたくない。代わりに、おそらくヒアドキュメント構文を使用して、HTML コードをエコーし​​ます。

パフォーマンスに関しては、重要な違いはありません。それis_nullよりも速いかどうか疑問に思っているようなものです===null-はい、===わずかに高速ですが、誰も気にしません。単一の foreach ループは、これよりもパフォーマンスに何倍も大きな影響を与える可能性があるためです。

だから心配しないでください!これは違いを生むので、読みやすくする方法で書いてください。エコーが生の出力よりも速いかどうかは関係ありません。

于 2013-02-01T13:15:23.807 に答える
1

まず最初に、MySQLの使用をやめる必要があります。PHP 5.5以降は非推奨になり、保守されなくなりました。MySQLiとPDOの2つの選択肢があります。また、or die()顧客(またはさらに悪いことに-潜在的なハッカー)にエラーメッセージが表示されないようにするために、を削除する必要があります:)

htmlコンテンツをエコーし​​ない方が高速です。エコーすると、phpがより多くのコンテンツを解析する必要があるためです。違いは非常に小さいですが、おそらく目立たないでしょう。

これについて議論する別の質問があります:HTMLをPHPにエスケープするか、Echoを使用するか?どちらが良いですか?

于 2013-02-01T13:12:03.447 に答える