В процессе ознакомления с Zend Framework 2 я изучил туториал с официального сайта (http://framework.zend.com/manual/2.2/en/user-guide/overview.html), просмотрел документацию фреймворка (http://framework.zend.com/manual/2.2/en/index.html), прочитал книгу Michael Romer “Web development with Zend Framework 2” и собрал собственное тестовое приложение.
Переварив всю эту информацию, я пришел к мысли, что официальный туториал к фреймворку суховат:
- в нем не рассказывается о работе с пользователями, сессиями и правами доступа,
- лишь вскользь рассматривается такая основополагающая часть фреймворка как ServiceManager,
- в качестве интерфейса с базой данных безальтернативно используется паттерн Table Gateway (и соответствующая его реализация в фреймворке),
- используется встроенный в фреймворк шаблонизатор, который после питоновского Jinja 2 кажется совершенно неудобным и примитивным,
- и т.д.
В итоге, более-менее удовлетворительное по функционалу приложение я смог создать после прочтения книги.
В этой статье я хочу привести пример разработки простого блога, в ней будет несколько отличий от официального туториала. В первую очередь я постараюсь заострить внимание на тех вопросах, которые во время изучения показались мне недостаточно раскрытыми в официальном туториале. Кроме того я буду использовать некоторые технологии, альтернативные тем, что используются в Zend фреймворке по умолчанию:
- в качестве шаблонизатора будет использоваться Twig,
- для работы с БД — Doctrine ORM,
- для авторизации/аутентификации и распределения прав доступа я буду использовать существующие модули ZfcUser и BjyAuthorize,
- также я рассмотрю вопросы разработки собственных валидаторов форм, View плагинов и другие.