Подтвердить что ты не робот

Большинство PHP-фреймворков фактически MVA вместо MVC?

Многие фреймворки PHP утверждают, что они реализуют шаблон проектирования MVC. Однако при их реализации модель и представление не знают друг друга, и каждое сообщение между ними должно выполняться через контроллер. Поскольку я читал в Википедии, это MVA (Model View Adapter) вместо подхода к шаблону проектирования MVC, потому что в MVC модель и представление напрямую взаимодействуют.

Требование этих фреймворков неверно или я что-то пропустил?

4b9b3361

Ответ 1

Рамки вроде CodeIgniter - это MVA, да. Однако их претензии не являются ошибочными, поскольку MVA - это, в основном, другой тип развертывания MVC. Посреднические контроллеры поражают пользователи, которые обрабатывают бизнес-логику; они также обращаются к модели, чтобы получить данные и подготовить представление.

Это не полностью расходится с строгим MVC, где Model и View могут разговаривать друг с другом, поэтому сказать, что это "неправильно" немного жестко. Я бы сказал, что это другой подход к MVC.

EDIT:

Посмотрите на CodeIgniter:

http://ellislab.com/codeigniter/user-guide/overview/at_a_glance.html

Модели не требуются, так как все может быть сделано в контроллере (не рекомендуется, очевидно). Обратите внимание, что CI (и большинство других фреймворков) говорят, что они основаны на на принципах MVC.