Собственно работаю над простой CMS "платформой" модулей, суть в простоте подключения новых модулей и их максимально гибкое использование,
каждый модуль это набор классов и методов в том числе метод inHTML - в силу не желания использовать шаблонизаторы для поддержки родного php кода в шаблонах было изначально решено использовать в данном методе следующую структуру:
ob_start();
$title = 'NAME PAGE';
include '/test.php';
$this->html ob_get_clean();
в файле /test.php соответственно это:
<h1>Страница: <?=$title?></h1>
Все вроде отлично, работает без проблем да и код за счет классов легок к восприятию + иерархия вполне удобоваримая поваляет в этом быстро разобраться. Но есть минус из за использования ob_get_clean(); не работает header("Location: ...") даже перед выводом какого либо кода только если он вызван до всех ob_start(), происходит это как я понимаю из за того, что ob_get_clean(); отправляет данные в браузер пусть и не выводит...
Исходя из всего этого вопрос как так-же локально реализовать нечто подобное но без ob_start() и шаблонизаторов?
P.S. Надеюсь вопрос понятен.