как использовать ob_start? - PullRequest
0 голосов
/ 21 апреля 2010

Я использую систему шаблонов 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 ]

2 голосов
/ 21 апреля 2010

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

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

ob_start('ob_gzhandler');
1 голос
/ 21 апреля 2010

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

...