Zend Framework — это среда разработки PHP с открытым исходным кодом, полностью основанная на PHP5, разработанная компанией Zend. Ее можно использовать для разработки веб-программ и сервисов. Она использует архитектурный шаблон MVC (модель-представление-контроллер) для разделения различных частей приложения. облегчить разработку и поддержание программ.
ZF2 — это не просто патчевое обновление, как другие фреймворки. Вместо этого он полностью переписывает весь код ZF1. Основной лозунг — «высокая производительность».
Давайте посмотрим, какие новые функции привнес ZF2:
1. Модуляризация (ModuleManager)
По сравнению с ZF1, ZF2 изначально поддерживает концепцию модулей. Любую стороннюю программу PHP можно превратить в модуль Zend, если она соответствует стандартам кодирования и структуре кода Zend. На данный момент выпущена партия экспериментальных модулей (см. Модули ZF2). Есть много отличных проектов, таких как Doctrine ORM.
Можно предвидеть, что по мере постепенного развития ZF2 будет появляться все больше и больше дополнительных модулей. Вполне возможно, что будущая разработка проектов на основе ZF2 будет такой же легкой и простой, как строительные блоки.
2. Управляемый событиями (EventManager)
В традиционных программах коды выполняются в линейной последовательности, поэтому при разработке часто бывает сложно выделить некоторые функции в компонент или модуль.
Управляемый событиями, или перехватчик, меняет способ запуска обычных программ в упрощенном порядке. После применения управления событиями программа будет запускаться в виде скачка «зарегистрированное событие» => «вызванное событие», которое можно запускать. без ущерба. Благодаря оригинальному программному коду можно легко добавить новую бизнес-логику в любом месте, что делает разработку проекта чрезвычайно гибкой.
3. Сервисменеджер
Концепция диспетчера сервисов исходит из идеи программирования «Шаблон локатора сервисов». Эта идея предполагает выделение каждой независимой функции в программе как «службы». Каждая служба может быть пробуждена независимо. Только при вызове службы запускается программа, связанная со службой.
В этом секрет повышения производительности ZF2. Идея ServiceLocator повсюду отражена в процессе запуска MVC ZF2. Вызовы функциональных модулей крайне «скупы», что наверняка станет большим сюрпризом для разработчиков, у которых ранее были проблемы. с выступлением Зенда.
4. Внедрение зависимостей
Внедрение зависимостей широко используется в основных средах Java и может эффективно отделить крупномасштабные приложения. Внедрение Di в ZF2 прошло через неоднократные рассмотрения и компромиссы. Даже после перехода на стадию бета-тестирования Di по-прежнему использовался в качестве базового решения для реализации ZF2, и вся конфигурация Mvc была основана на Di. В конце концов, чтобы не попасть в трясину программирования метаданных (метапрограммирование), которую может вызвать Di, Di используется только как нижняя реализация ZF2, а ServiceManager добавляется на верхний уровень. Обычным разработчикам не нужно знакомиться с уровнем Di при использовании ZF2. Однако это не мешает DI существовать и функционировать как отличный PHP-компонент.
5. Социальное программирование
Код ZF2 полностью размещен на Github. Благодаря превосходному дизайну Github любой может легко участвовать в создании проекта ZF2 через его форк и даже отправлять новые функции модуля. Автор AlloVince также помог команде Zend исправить некоторые ошибки и обнаружил, что команда Zend реагировала очень быстро (не более 24 часов) и серьезно отвечала на отзывы. Поэтому участие в проекте ZF2 — хороший выбор для участия в проекте PHP с открытым исходным кодом.