Как использовать ob_start?

Я использую систему шаблонов 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-файл, который вызывает этот шаблон?

Есть идеи? Благодарю.

2 ответа

Решение

Вам не нужно принудительно очищать, когда PHP-скрипт завершает работу, буфер очищается.

Пока вы помещаете ob_start() в начало вашего скрипта, это лучшее место. На самом деле вы можете использовать сжатие GZIP, которое значительно ускорит отображение вашей страницы. Кажется, что на большинстве серверов отключен GZIP, но вы можете включить его в своем PHP через:

ob_start('ob_gzhandler');

Я думаю что display Метод на самом деле выводит шаблон, так что это тот, который вы должны обернуть ob_start а также ob_end_flush, Однако я не вижу преимущества использования ob_end_flush вокруг одного вызова функции.

Другие вопросы по тегам