0

プロジェクトにPHPSavantテンプレートシステムを使用していますが、これでob_startを使用する方法がわかりません。

私は前に試しました..例えば、

page_header.php
-- ob_start();

page_footer.php
-- ob_end_flush();

しかし、今はテンプレート システムを使用しているため、これらの関数をどこに配置すればよいかわかりません。

$template = new Savant3();
$template->some_var = $some_value;
$template->display('default_template');

default_template には、いくつかの変数 ($template オブジェクトに設定) を使用してセクションを作成し、すべてが含まれています。HTMLコードがある場所でob_startとob_end_flushを使用する必要がありますか、それともこのテンプレートを呼び出すすべてのphpファイルに含める必要がありますか?

何か案は?ありがとう。

4

2 に答える 2

3

PHP スクリプトが終了するとバッファがフラッシュされるため、強制的にフラッシュする必要はありません。

スクリプトの先頭に ob_start() を配置する限り、それが最適な場所です。実際、GZIP 圧縮を強制すると、ページ表示が大幅に高速化されます。ほとんどのサーバーでは GZIP が無効になっているようですが、次の方法で PHP で強制的に有効にすることができます。

ob_start('ob_gzhandler');
于 2010-04-21T15:52:23.000 に答える
1

displayそのメソッドは実際にテンプレートを出力すると思うので、それをob_startand でラップする必要がありob_end_flushます。ob_end_flushただし、単一の関数呼び出しを使用する利点は実際にはわかりません。

于 2010-04-21T15:25:28.373 に答える