Ваши вторые и третьи пункты пули кажутся мне правильными, если вы не делаете в своей модели ничего логического из ваших представлений.Связь между моделями и представлениями должна быть доступна только для чтения.
Что касается вашей первой точки зрения, вам не нужно ничего присваивать представлению, вы просматриваете помощник, который должен return
выводить HTML непосредственно в представление.
По первому вопросу вы могли бы создать View Helper, специализирующийся на этой задаче, чтобы вы могли использовать его в качестве простого прокси между помощниками вида и сопоставителями.Один помощник вида позволит вам получить доступ к любому мапперу, а другие помощники вида могут использовать этот помощник вида, чтобы получить маппер.
Давайте посмотрим, что Трюгве Реенскауг думает о MVC:
Модели
Модели представляют собой знания.Модель может быть отдельным объектом (довольно неинтересным) или структурой объектов.
Должно быть однозначное соответствие между моделью и ее частями, с одной стороны, ис другой стороны, представляет собой мир, воспринимаемый владельцем модели.
Представления
Представление - это (визуальное) представление своей модели.Это обычно выделяет некоторые атрибуты модели и подавляет другие.Таким образом, он действует как фильтр представления.
Представление присоединяется к его модели (или части модели) и получает данные, необходимые для представления, из модели, задавая вопросы.Он также может обновить модель, отправив соответствующие сообщения.Все эти вопросы и сообщения должны быть в терминологии модели, поэтому представление должно знать семантику атрибутов модели, которую оно представляет.
Контроллеры
Контроллер - это связь между пользователем и системой.Он предоставляет пользователю входные данные, организуя соответствующие представления, чтобы представить себя в соответствующих местах на экране.Он предоставляет средства для вывода пользователя, предоставляя пользователю меню или другие средства подачи команд и данных.Контроллер получает такой вывод пользователя, переводит его в соответствующие сообщения и передает эти сообщения одному или нескольким представлениям.