Я читал о дизайне MVC какое-то время, и кажется, что представление View вызывает объекты и методы в модели, создает и выводит представление.MVC: Model View Controller - просматривает ли Вид модель?
Я думаю, что это в основном неправильно.
Контроллер должен действовать и получать/обновлять объекты внутри модели, выбирать соответствующий вид и передавать ему информацию, чтобы он отображался. В представлении должны отображаться только грубые и рудиментарные переменные PHP/простые операторы if.
Если представление получает информацию, необходимую для отображения с модели, то, конечно, внутри представления будет много PHP. Это полностью нарушает точку разделения логики представления.
Я думаю, что лучше, чтобы увидеть, как вид более шаблона. MVT, как мне нравится это видеть. Единственный недостаток в том, что информация, полученная от контроллера и переданная в представление, заключается в том, что вид теперь зависит от контроллера. Вид не может быть вызван непосредственно для отображения страницы, он должен пройти через контроллер, но опять же, это целая * цель * контроллера - для маршрутизации запросов HTTP GET/POST. –
«Лично я не разрешаю виду читать непосредственно из модели». - Также при использовании AJAX? –
@ Mr.Pallazzo также. Запросы Ajax все еще обрабатываются контроллером, а не непосредственно моделью. Нет принципиальной разницы с точки зрения сервера между обычным запросом и Ajax. Разница заключается в выходе и в клиенте. –