Zaczynając 'wstajemniczenie' musisz wiedzieć kilka rzeczy bo inaczej będzie to jak nauka jazdy przez telefon.
Przede wszystkim obiektowość. Każdy liczący się framework jest zaprojektowany w sposób obiektowy, dlatego też musisz znać pojęcia i terminologię wywodzące się z obiektowości.
Druga rzecz jaką wypadałoby znać to wzorzec
MVC*, wiedzieć co to jest kontroler, co to jest model, co to jest widok, gdzie wykonuje się logike aplikacji itp. Wtedy będziesz wiedział dlaczego w danym frameworku jest to odseparowane, dlaczego z tego pliku wykonujemy daną operację a nie z innego. Znacznie ułatwi to naukę frameworka.
Jeżeli chodzi o Zend Framework 2, to w oficjalnej dokumentacji jest tutorial pod tytułem
Getting Started with Zend Framework 2,
Tutorial ten polega na stworzeniu prostego modułu od A do Z, w którym prezentowana jest lista utworów. Pokazane jest jak połączyć się z bazą danych oraz standardowe operacje
CRUD. Pokazane jest również jak przeprowadzić testy jednostkowe za pomocą
PHPUnit.
W tym tutorialu nie tylko podany jest kod, ale również wszystko wyjaśnione, co, jak, dlaczego akurat tak. Warto też czytać komentarze pod daną podstroną.
Po takich podstawach powinieneś wiedzieć jak stworzyć własny formularz, jak połaczyć się z bazą, jak pobrać dane, jak dodać dane, itp. czyli to co znajduje się na każdej stronie internetowej.
Potem pozostaje tylko pogłębiać tę wiedzę i zwracać uwagę na mniej standardowe rzeczy.
*- akurat w przypadku Zend Framework 2, architektura bardziej przypomina
MOVE niż MVC, gdyż bardzo ważną rolę pełnią Eventy. Sam framework jest budowany w 100% obiektowo pod PHP 5.3 , więc przestrzenie nazw, czy funkcje lambda (zwane częściej
funkcjami anonimowymi) są czymś standardowym. Framework ten jest modułowy, aplikacje tworzy się na zasadzie dodawania nowych modułów, które bez problemu możesz wykorzystywać w innych aplikacjach, bo mają własny routing, własne kontrolery, własną logikę, własne widoki. W zasadzie mają wszystko własne : )
Najważniejsze to się nie poddawać i debugować, debugować i jeszcze raz debugować.