В чем отличие Layout и Template?

Тугай

Новичок
@StalkerClasses,
Имеется главный шаблон (layout), который состоит из множества блоков (temaplates), каждый блок может еще дальше разбиваться на меньшие блоки и т. д.
Чтобы показать layout, сначала нужно сформировать каждый template.

Рендер templates управляется через механизм событий или крючков (hooks).
В шаблоне вызывается функция displayBlock1(), это функция перебирает список функций hooksBlock1 =[ 'defaultFunc', 'myFunc' ] и вызывает каждую. В своем модуле или контроллере ты должен уметь цепляться за эти крючки или говорят еще подписываться на события, проще говоря добавить свой обработчик в список функций.

Это все делается в контроллере, т.е. до вывода. По запросу ты определяшь какой у тебя layout, т.е. сколько колонок, какие нужны заголовки, мета теги и прочее и только потом начинаешь вывод.
Твое сверху вниз - это все в одном файле не разделяя контролер и вью.
Если не понятно то определится что и как выводить, нужно до вывода тега "<html>".
Посмотри на функции ob_start(), ob_get_contents() - позволят получать результаты твоих require_once() в переменные.
 
Сверху