Всем привет! Все змагаюсь с MVC...
Получается контроллер получает некие данные от пользователя, проверяет эти данные и делает вывод к какому методу модели обращаться. Обращается к модели, которая вытягивает данные из базы данных и возвращает их обратно в контроллер. Контроллер в свою очередь должен отправить эти данные в класс View (этот класс создаст из данных, которые мы получили - готовый HTML код). Вот вопрос... Что должен получить от контроллера класс View? Объект или массив с данными?
View должно получить в идеале необходимый минимум для отрисовки. Ничего лишнего.
При работе view желательно не дергать никакие методы и не менять никакое состояние.
Но на практике что угодно.
Да в принципе вы можете передавать туда что угодно. Лишь бы вью не дергала какие-то методы модели которые могут иметь side effect (изменять состояние, качать файлы и т.д.). Только чтение.
По сути, в моем понимании (я делаю так), View это лишь файлы шаблонов отдельных страниц или их частей. Максимум что они содержат это foreach'и с массивами и переменные пришедшие с контроллера.
Это обеспечивает удобное редактирование шаблонов и дизайна в целом.