Прежде всего, немного о ролях Ms, Vs & Cs в шаблоне MVC:
Три части:
Model
-View-Controller:
Мы назовем неизменную сущность приложения / предметной области моделью (в единственном числе).В объектно-ориентированных терминах это будет состоять из набора классов, которые моделируют и поддерживают основную проблему и, следовательно, будут иметь тенденцию быть стабильными и такими же долговечными, как и сама проблема.Сколько должна знать модель (классы) о связи с внешним миром?Ничего, абсолютно ничего.
Model- View
-Controller:
Для данной ситуации в данной версии будет один или несколько интерфейсов с моделью, который мы будем называть мнениями (во множественном числе).В объектно-ориентированных терминах они будут состоять из наборов классов, которые дают нам «окна» (очень часто актуальные окна).
Model-View- Controller
:
Контроллер - это объект, который позволяет вам манипулировать видом.Чрезмерно упрощая, контроллер обрабатывает ввод, в то время как представление обрабатывает вывод.Контроллеры обладают наибольшим знанием платформ и операционных систем.Представления практически не зависят от того, происходят ли их события из Microsoft Windows, X Windows или чего-либо еще.
То, что ваш коллега пытается сказать вам, это:
ниже изображен поток последовательности (приблизительный), относящийся к платформе Zend, которая является платформой MVC для PHP.
Нажмите здесь , чтобы увеличить изображение.![Zend Framework calls](https://i.stack.imgur.com/s4wkN.jpg)
Обратите внимание на Диспетчер (третий от последнего) на приведенной выше схеме.Давайте рассмотрим только следующее для вашего случая:
- Front.php: как вы видите.
- Диспетчер: посредник, упомянутый вашим коллегой.
- MyController: в качестве вашего контроллера.
Что вам нужно сделать, это:Если View должен вызвать событие, он не будет обрабатывать событие сам по себе.Он отправит событие в Диспетчер вместе с параметрами (если они есть) для события. Диспетчер теперь будет
- Ищите контроллер, способный обрабатывать такое событие.
- Создать контроллер
- Передайте событие контроллеру вместе с параметрами (если есть).
Контроллер теперь будет:
- Подготовиться к событию.
- Выполнить событие.
- Вернуть набор результатов (если есть) в Диспетчер .
Диспетчер теперь будет:
- Вернуть набор результатов (если есть) обратно в Просмотр .
Просмотр теперь будет:
- Визуализировать набор результатов (если есть) и представить его.
Почему так много нужно сделать?To keep the roles segregated and clear
.