2010-04-21 196 views
0

我爲項目使用PHPSavant模板系統,我不確定如何在此使用ob_start。如何使用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包含使用一些變量(設置爲$模板對象)的所有和填充部分。我應該使用ob_start和ob_end_flush來代替我的html代碼,或者在每個調用此模板的php文件中都包含這些代碼?

任何想法?謝謝。

+0

要使用ob_start()對於什麼是我不明白。 – 2010-04-21 15:46:17

+0

其實我想用ob_start的主要原因是要加gzip壓縮。 – user187580 2010-04-21 16:01:16

回答

2

當PHP腳本終止緩衝區刷新時,您不必強制刷新。

只要您在腳本的開頭放置ob_start(),那就是最好的地方。事實上,你可能想要強制GZIP壓縮,這將大大加快你的頁面顯示。這似乎是最服務器具有Gzip已禁用,但你可以在你的PHP通過迫使它在:

ob_start('ob_gzhandler'); 
+0

其實我主要想用ob_start的主要原因就是加了這個壓縮。 – user187580 2010-04-21 16:00:37

1

我想display方法實際上輸出模板,所以這是你應該用ob_startob_end_flush包裝的方法。不過,我並沒有真正看到在單個函數調用周圍使用ob_end_flush的優勢。