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 回答