Здравствуйте дорогие читатели.
Совсем недавно вышел в свет Zend Framework 2. Однако его изучение у многих усложняет отсутствие русской документации и единого сообщества. Так же во второй ветке этого фреймворка появилось множество нововведений и плюшек, про который обычный PHP программист раньше даже не слышал. Но их можно изучить особо не потея. А вот понять, как работает ZF2 без понимания логики работы его MVC системы достаточно затруднительно. Поэтому решил сделать перевод с официального сайта именно этого раздела.И так приступим.
MVC в Zend Framework 2
ZendMvc представляет собой совершено новую реализацию MVC системы для Zend Framework 2. Основное внимание было уделено производительности и гибкости.
Слой MVC построен на основе следующих компонентов:
- ZendServiceManager — Zend Framework предоставляет набор различных сервисов, определенных в ZendMvcService. ServiceManager создает и настраивает экземпляр вашего приложения и рабочего процесса.
- ZendEventManager – MVC является событиями. Данный компонент используется повсеместно. Для начальной загрузки приложения, возврата ответов (response) и запросов (request), настройки и получения маршрутов (routes), а так же для обработки (render) скриптов вида (views).
- ZendHttp – особый объект запросов (request) и ответов (response). Используется с ZendStdlibDispatchableInterface. Все контроллеры представляют собой объекты «dispatch».
В MVC слое используются следующие вспомогательные компоненты:
- ZendMvcRouter – содержит классы, обеспечивающие маршрутизацию запросов. Другими словами, перенаправляет запросы к нужным контроллерам.
- ZendHttpPhpEnvironment – предоставляет набор декораторов объектов HTTP запросов и ответов, обеспечивающих инъекцию запросов в текущую среду (включая GET и POST параметры, HTTP заголовки).
- ZendMvcController – набор абстрактных классов контроллеров с базовой функциональностью, такой как создание событий, диспетчеризацией действий и т.д.
- ZendMvcService – набор ServiceManager фабрик и определений по умолчанию для различных процессов приложения.
- ZendMvcView – предоставляет стандартные возможности визуализации скриптов вида, регистрации помощников и многое другое. Так же предоставляет различные слушатели, которые «связывают» рабочий процесс MVC, обеспечивая такие функции, как автоматическое разрешение имен шаблонов, автоматическое создание модели вида и инъекций, т.д.