我正在为项目使用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对象)。我应该使用ob_start和ob_end_flush我的html代码是什么,或者包含在调用此模板的每个php文件中?
有什么想法吗?感谢。
答案 0 :(得分:2)
当PHP脚本终止时,您不必强制刷新,刷新缓冲区。
只要将ob_start()放在脚本的开头,那就是最好的地方。实际上,您可能希望强制GZIP压缩,这将大大加快页面显示速度。似乎大多数服务器都禁用了GZIP,但您可以通过以下方式在PHP中强制启用它:
ob_start('ob_gzhandler');
答案 1 :(得分:1)
我猜display
方法实际上输出了模板,因此应该使用ob_start
和ob_end_flush
进行包装。但是,我并没有看到在单个函数调用周围使用ob_end_flush
的优势。