Zend Framework 2. Материалы для изучения.
Сейчас ходит много слухов о грядущей версии Zend Fremework 2. В основном слухи касаются увеличенной производительности, новым более гибким подходам, улучшенной по сравнению с 1ой версией стандартизацией и унификацией. В этом посте я хочу разместить подборку материалов для изучающих ZF2.
ZF2 – это абсолютно новый фреймворк. Это значит, что он не совместим с ZF1. Да. Это было сделано с целью полного обновления фреймворка. Все мы знаем на примере php, что такое груз обратной совместимости, и похоже в команде ZF это тоже прекрасно понимают. Именно поэтому было принято такое решение. Почему 2.0? Основной целью при переписывании фреймворка было увеличение его производительности. ZF 1 хорош, однако он имеет ряд узких мест (в частности Zend_Application). Также есть некоторое количество архитектурных недоработок: разные способы инициализации плагинов, разные способы использование хелперов. В 2.0 такие места будут стандартизированы. Принцип “примата соглашения над конфигурацией”, который исповедуется в Ruby On Rails, будет применяться и здесь. Для разработчиков эт о в первую очередь означает, что гораздо реже придётся лазить в мануал.
PHP 5.2 to PHP 5.3
Прежде всего надо начать с того, что ZF2 написан полностью на PHP 5.3 с использованием namespaces и других плюшек. Чтобы разобраться в теме миграции на 5.3 рекомендую вам почитать вот этот раздел мануалки на офсайте.
Migrating from PHP 5.2.x to PHP 5.3.x
На тему нововведений в php 5.3 можно прочитать вот эту статью и эту. Про namespace есть несколько неплохих статей на хабре: PHP Namespaces, Внедряем namespaces в существующий php-код. А вот более практические статейки: Как использовать пространства имен в PHP, Часть 1: Основы, Часть 2: импортирование, псевдонимы и правила разбора имён, Часть 3: Ключевые слова и автозагрузка. Также рекомендую пройти вебинары по php 5.3.
Docblox
Статьи по Docblox (новой системе документирования php кода):
Docblox — система документирования, совместимая с PHP 5.3+, Docblox — некоторые нововведения.
Phar
В новом PHP всерьез подошли к борьбе с кучей инклюдов, файловых операций. Для этого в частности придумали такую штуку, как phar-архивы. PHAR — это утилита для создания исполняемых архивов в PHP, аналог JAR в Java.
Она позволяет упаковать много файлов в один, в результате чего приложение может работать с целой библиотекой, как с одним файлом.Она умеет создавать, читать, записывать и конвертировать такие форматы, как TAR, ZIP и, собственно, PHAR.Доступ к файлам в архиве осуществляется напрямую, без необходимости распаковки архива, через PHP Stream Wrapper, то есть с файлами из архива работают все функции, которые поддерживают PHP Stream Wrapper. Пример работы с phar есть здесь.
Введение в Zend Framework 2
Подкаст + слайды Matthew Weier O’Phinney
Также на сайте Zend есть другие вебинары по Zend Framework 2.
Паттерны проектирования Zend Framework 2
Вы можете следить за разработкой отдельных компонентов ZF2: zf2.evan.pro
Делаем первое приложение на Zend Framework 2
Dependency Injection
Очень важным для понимания нового ZF является парадигма Dependency Injection. Инверсия управления является распространенным явлением, с которым вы столкнетесь при использовании фреймворков. И действительно, она часто рассматривается как определяющая характеристика фреймворка.
Одной важной характеристикой фреймворка является то, что методы, определенные пользователем для адаптации фреймворка под свои нужды, будут чаще всего вызываться внутри самого же фреймворка, а не из кода приложения пользователя. Фреймворк часто играет роль главной программы в координации и последовательности действий приложения. Такая инверсия управления дает фреймворку возможность служить расширяемым скелетом приложения. Методы, предоставляемые пользователем, адаптируют общие алгоритмы, определенные фреймворком, под определенное приложение.
Ральф Джонсон и Брайан Фут.
По DI есть руководство и от самого сообщества ZF в их вики Zend DI QuickStart + примеры по DI и пример по работе ZF2 DI в ZF1.
Event Manager
Примеры работы ZF2 Event Manager
Пример использования ZF2 EventManager
Порт ZF1 приложения на ZF2
Другие ссылки
How to start with Zend Framework 2? (zf wiki)
Programmer’s Reference Guide
Подборка ссылок по ZF2 от Валерия Рабиевского
Удачи в изучении, будут вопросы или предложения – велкам в комменты! 🙂
Спасибо, действительно заинтриговала статья.
это разве не давнишния приблуда?
Сам по себе Phar доступен начиная с PHP 5.2.0, однако обертка потока – только с PHP 5.3.0.
Введение в ZF2 http://plutov.by/post/zf2_introduction
Спасибо за полезную подборку ссылок и презентаций. Презентация по DI – шедевральна!
Пожалуйста, думаю пост будет обновляться, если что ещё найду.
http://zendframework.ru/forum/index.php?topic=6797.0
На все вопросы даст ответ иероглиф 🙂