Upload
intersog
View
295
Download
0
Embed Size (px)
Citation preview
О докладчике
Васильев Андрей, Team Leader @ INTERSOG Разработкой ПО, в частности на РНР, занимаюсь с 17-ти лет. К этому моменту опыт работы около 7-ми лет. Фан Zend Framework, Zend Framework 2. Работаю в данный момент над высоконагруженным сервисом. Продукт интегрирован с множеством программных решений и является центральным местом в инфраструктуре клиента. Значимые работы: - Сайт “Власный рахунок” для Сильпо - UkrLit.ORG – библиотека украинской литературы, словари и транслитерация - NDA проекты :) Email: [email protected]
О фреймворке
Zend Framework 2 – это ООП фреймворк для разработки на РНР 5.3+. Релиз второй версии состоялся в сентябре 2012 года. Новая версия фреймворка пришла на смену весьма популярному ZF1. Разработчики исправили типовые проблемы ZF1, а также внесли много новых концепций и идей в процессе его разработки. Вторая версия, как совершенно иной продукт – мало чем похожа на предыдущие релизы. ZF2 значительно быстрее первой версии, применяет иные подходы к разработке, которые на практике существенно превосходят решения старого продукта. В виду своей популярности и долгой истории у фреймворка мощное и развитое сообщество.
Rasmus Lerdorf
I really don't like programming. I built this tool to program less so that I could just reuse code.
“ Creator of PHP, Rasmus Lerdorf
Модульность
Позволит вам использовать
компоненты фреймворка месте
или раздельно. Нет необходимости
включать весь фреймворк в
проект.
Используйте модульность для
задания структуры вашему
проекту, для разделения частей
приложения.
Конфигурация
PHP arrays – основа конфигурации
приложения.
Для упрощения работы в разном
окружении и сохранности
“секретной” информации
используются global и local файлы.
Local файлы не хранятся под
контролем версий и
переопределяют параметры
заданные в global.
DI, IoC, SM
Dependency Injection – это паттерн
программирования, в основе
которого лежит принцип инверсии
управления (Inversion of Control).
Внедряйте зависимости объекта
из-вне. Это позволит вам сделать
код гибче и упростит процесс его
тестирования.
ServiceManager – это имплементация паттерна Service Locator,
который поможет вам инстанциировать нужный объект и
получить его в нужный момент. ServiceManager также
позволяет ограничить “видимость” объектов на разных слоях
системы. В Zend Framework 2 есть несколько Service
Manager'ов, в каждом из которых свой набор сервисов.
Service Manager также играет роль IoC контейнера. Благодаря
принципу его работы внедрять зависимости достаточно
легко.
Для этого у нас есть: invokables, abstract factories, factories,
initializers, delegators.
Service Manager в ZF2
Аспектно-ориентированный дизайн
Парадигма аспектно-ориентированного программирования ярко представлена
событийной моделью фреймворка.
Так, вы можете повысить гибкость приложения за счет использования Event
Manager'a, событий и слушателей. В ZF2 существует возможность подключить
слушателя как на конкретный экземпляр объекта, так и глобально для всего
приложения. Если для события есть слушатели, контроль управления будет
передан им. В слушателе может выполняться дополнительная работа
связанная с поступившим событием.
Итоги
ZF2 современный РНР фреймворк, отвечающий требованиям и вызовам
нынешнего времени. С его помощью можно строить как небольшие
приложения так и весьма непростые enterprise решения.
Компоненты фреймворка могут быть использованы раздельно, а поддержка
модульности позволит вам структурировать приложение. Событийная модель
облегчает процесс дополнения функциональности продуктов, а
имплементация IoC поможет внедрить зависимости между классами вашей
системы.