0

PHP と HTML でページをレンダリングする最も効率的な方法は何ですか?

連結中

$html = '<span><img src="page.png" alt="page" />'.$variable1.'</span>';
echo $html

変数の置き換え

$html = "<span><img src=\"page.png\" alt=\"page\" />{$variable1}</span>";
echo $html;

インライン PHP タグ - 大規模で最も効率的であっても、これは実用的ではないようです。

<span><img src="page.png" alt="page" /><?php echo $variable1; ?></span>

ページ全体を生成していると仮定してください。上記のスニペットを各方法の例として使用しました。

ありがとう!

4

3 に答える 3

2

それは、達成しようとする目標に大きく依存します。

単純なページをレンダリングするだけの場合、最も効率的な方法は、単一引用符を使用してコードを連結することです (ベンチマークに基づく) (違いはそれほど重要ではありませんが)。

しかし、あなたはウェブサイトを構築していて、html+php を広く使用していると思います。その場合は、テンプレート エンジンを使用するか、直接 PHP を使用することをお勧めします。

もちろん、どのテンプレート エンジンを使用してもパフォーマンスは低下しますが、プロジェクトの可読性が向上し、より適切な方法で構造化されます。「失われたパフォーマンス」/「読みやすさ - 維持」の比率は価値があります。それを選択する必要があります (多くの html ページをレンダリングする予定がある場合も同様です)。MVC デザイン パターンを参照してください。

さて、テンプレート エンジンについては、この目的のために最初に開発された PHP を直接使用することをお勧めします。最終的にテンプレートで php を使用する多くのテンプレート エンジンを見つけることができ、同じことがフレームワークにも当てはまります。たとえば、 Code Igniterを見ると、テンプレートが php で作成されていることがわかります。

セキュリティ上の理由から、テンプレートで PHP を使用するかどうかは、誰がテンプレートを編集するかによって大きく異なります。それがあなただけ、またはあなたが完全に信頼している誰かなら、あなたはそれを選ぶべきです. ユーザーが(何らかの理由で)テンプレートを編集できる場合は、データベースにアクセスしたり、すべてのファイル(構成ファイルを含む)を表示したりするなど、サーバーで必要なことを何でもできるため、絶対に避ける必要があります。等

于 2012-05-10T08:09:43.760 に答える
1

問題または測定するのに十分なパフォーマンスの違いはありません。最も読みやすいことを行います。私の(多くの)PHP アプリでは、ほとんどの場合、短いタグを使用して埋め込み PHP 置換を使用します。

<p><?= $text ?></p>
于 2012-05-10T08:10:58.567 に答える
0

最善の方法は、読みやすく、保守しやすいことです。

そうは言っても、おそらくテンプレート エンジン ( twigsmartyなど) を使用しますが、利用できない場合は、間違いなくインライン php タグを使用します (Zend Framework のビューや Symfony の成功テンプレートのビューで使用される)。

php 内で html を生成する必要がある場合は、sprinft('<img src="%s">", $src');または連結を使用します。

{$var}orの使用は本当に、本当に嫌い$html = "$var"です。

于 2012-05-10T08:07:09.203 に答える