ob_start();
$salutation = 'Привет, мир!';
/**
* Подключаем шаблон приветствия
* Includes a salutation template
*/
include './show.tpl';
$content = ob_get_contents();
ob_end_clean();
/**
* Подключаем шаблон
* Includes a template
*/
include './index.tpl';
таким образом старый наш код пропадает
$content = 'Привет, Солнце!';
переменная content пуста, её вообще не существует, она есть только в шаблоне в котором указано, что эту переменную нужно выводить на экран.
Всё круто, выводится привет мир с бирюзовым фоном, только зачем мы убрали $content вместо неё создали $salutation? И еще там есть строчка "Потом функция ob_get_contents() вынимает все оттуда и помещает в переменную $content. То есть похоже на Ctrl+C. Потом функцией ob_end_clean() мы очищаем буфер на всякий случай (весь вывод у нас уже в переменной) и дальше идем в главный шаблон и вставляем все туда: " Как мы можем что-то поместить в $content если в индексном файле вообще не упоминается об этой переменной?
Извините если не внятно задал вопрос, с вечера перечитываю, и не понимаю, нервы сдают. Спасибо
Спустя 30 минут, 44 секунды (11.09.2010 - 16:29) Lenarfate написал(а):
а ты дальше читай, все ясно станет. это самое всиупление к своеобразной реализации паттерна mvc
Спустя 20 минут, 2 секунды (11.09.2010 - 16:49) shmit написал(а):
Понял, попробую. Спасибо за помощь.
Спустя 1 час, 22 минуты, 21 секунда (11.09.2010 - 18:11) shmit написал(а):
Прочёл, но вопрос о переменной $content остался. Вообще хороший материал, но для меня он даётся с таким трудом, перечитываю по 5 раз и всё равно не всё улавливаю.(
Спустя 8 минут, 45 секунд (11.09.2010 - 18:20) Lenarfate написал(а):
ob_get_contents - возвращает содержимое буфера вывода, которое записываем в $content. а сама переменная $content выводится в index.tpl, то есть все, что помещено в буфер(все, что между ob_start и ob_get_contents). вот и все