ここでのプログラミングの実践に関する非常に簡単な質問:
HTMLコードが生成されるとすぐにecho()を使用してユーザーに出力し、同時にob_start()を使用してコードの後半でヘッダーを出力できるようにしました。最近、これは悪いプログラミング手法であり、最後まで HTML 出力を保存する必要があることに気付きました。
これには理由がありますか?それは何ですか?出力バッファリングが良い代替手段ではないのはなぜですか?
ありがとう!
ここでのプログラミングの実践に関する非常に簡単な質問:
HTMLコードが生成されるとすぐにecho()を使用してユーザーに出力し、同時にob_start()を使用してコードの後半でヘッダーを出力できるようにしました。最近、これは悪いプログラミング手法であり、最後まで HTML 出力を保存する必要があることに気付きました。
これには理由がありますか?それは何ですか?出力バッファリングが良い代替手段ではないのはなぜですか?
ありがとう!
必ずしも順序どおりではありません。
echo
HTMLを出力するために使用するのは面倒です。PHP はテンプレート言語です。HTML を出力する必要がある場合は、テンプレート言語から抜け出すことができます。
<?php echo "<div id=\"foo\">" . $bar . "</div>"; ?>
対
<div id="foo"><?php echo $bar; ?></div>
MVC パターンを調べます。
HTML がブラウザーに送信されるたびに、ヘッダーが受信/作成されます。これが発生すると、PHP はそれ以上ヘッダーを送信できなくなります。したがって、コードを「早い段階で」送信すると、ヘッダーを送信する PHP の機能が無効になり、コードの柔軟性が (現在または将来の変更に対して) 制限されます。
ビューに出力する前に、あらゆる種類のものを処理することをお勧めします。たとえば、 や などの追加のヘッダーを送信する必要がある場合がありLocation
ますSet-Cookie
。
また、どのようなビューが必要になるかはわかりません。今回の応答は HTML ですが、後で JSON または XML として表示したい場合はどうすればよいでしょうか? 再構築に苦労するでしょう。
すべての出力を最終ビューに残した場合は、HTML を XML テンプレートに交換できます。