Как использовать 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
вокруг одного вызова функции.