Задать вопрос

Как вывести отложенную вьюху в момент редактирования буфера через callback ob_start?

Мне нужно достать результат вывода подключенного php файла или любой другой функции в буфер браузера во время того, как редактируется вывод буфера в браузер

ob_start("onBufferFlush");

function onBufferFlush ($buffer) 
{
    ob_start();
    include("template.php");
    $content = ob_get_clean();
    return $content . $buffer;
}


"Я встроил тебе ob-функцию внутрь ob-функции, чтобы ты мог редактировать буфер пока редактируешь буфер"

Внутри такого callback'а функции семейства ob уже не вызываются. И вообще если внутри этого callback'а вызвать хотя бы 1 echo - на экран браузера не выведется ничего, ни буфера, ни ошибки, ни варнинга, просто белый лист. Генерировать динамично html'ку налету в строковую переменную не хочу. Есть какие-нибудь варианты решения этой проблемы?

Умные люди подсказали мне, что с помощью ob нельзя контролировать буфер после его закрытия. Подскажите тогда, пожалуйста, как вывести отложенную вьюху? Например, есть сайдбар, который инициализируется в хедере, а контент в него набирается по ходу страницы. Как шаблонизировать вьюху, если не php-файлом, в котором лежит html-разметка и небольшие вставки php-кода для динамики? Не собирать же строку, в самом деле? Мне кажется этому уже давно есть какое-нибудь решение, либо я что-то делаю не так. Может быть используют какие-то сторонние шаблонизаторы типа smarty?
  • Вопрос задан
  • 210 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы