по своему опыту я склонен программировать модель и рассматривать ее как "слепую".модель и представление получают только необходимые параметры и затем выплевывают то, что необходимо.они должны выполнять минимальную логику или вовсе не выполнять ее.
для модели, в которой она выполняет незначительные проверки, такие как тип параметра и достоверность, и возвращает либо результат, либо ложь.контроллер не знает, как хранятся данные, где, почему и т. д.
для представления, он должен получать строку предпочтительно только через одну точку входа, функцию, которая будет выполнять экранирование и эхо.кроме этого, контроллер никогда не должен отображаться на странице.
все остальное для контроллера, чтобы переварить, как проверка, вызов, что нужно, определить, что к чему.контроллер видит все:
//get from model, pass parameter - that's it
if (model-> news ('all')) {
//manipulate data for result
//get appropriate view
view->parse(html); //pass html to view, that's it
} else {
//manipulate data for no result
//get appropriate view
view->parse(html); //pass html to view, that's it
}