Rin
про использование $view внутри шаблона понятно, в yii/zend внутри шаблона тоже можно можно вызвать $this->render() и отрендерить подшаблон (правда не рекурсивно), но при этом эти фрейморки не теряют понятие Controller. Мне не ясно кто принимает решение о том, что нужно отрендерить какой-то view-шаблон страницы. Например, обычный flow у известных фреймворков - запрос попадает на FrontController, он используя описанные в конфиге route-правила, решает какой контроллер и его метод(action) запустить, action вытягивает из моделей данные, определает шаблон для рендеринга и запускает. Результат работы реднеринга aсtion'а вставляется в layout-шаблон. При этом шаблон может рендерить подшаблоны, создать виджеты (своя логика + шаблон).
Извиняюсь за описание этой банальщины.
Rin, ты мог бы описать кратко как у тебя сделано, мне действительно интересно но не понятно. В твоих примерах описана уже либо последняя страдия (тогда наверное какой-то вышестоящий код есть и он выполняет функции контроллера), либо http запросы попадают напрямую на скрипты с шаблонами, например, при обращении к site/news.php сразу и вызывается news.php, где идёт иннициализация и подтягивание нужных данных (тогда понятно)