Autor wpisu: widmogrod, dodany: 20.11.2011 21:05, tagi: php, technologie
Pod powyższym tytułem został opublikowany artykuł w najnowszym magazynie Imagine. Magazyn jest wydawany przez Empathy i można się z nim zapoznać całkowicie za darmo online: http://issuu.com/imaginemagazine/docs/imagine_no2
Artykuł powstał dwa miesiące temu, ale z dzisiejszego punktu widzenia mogę powiedzieć że kierunek rozwoju Zend Framework 2 trzyma się planu. Zagłębiając się bardziej w jego temacie napisałem pierwszą aplikację na FB właśnie przy użyciu ZD2 i Doctrine2.
Mogę powiedzieć że z punktu widzenia programisty jest dużo nowych rzeczy do nauki. ZF2 zmienia sposób pisania aplikacji internetowych. Ale na ten temat na pewno jeszcze napiszę jeszcze kilka słów
Jako że w magazynie artykuł ukazał się w wersji skróconej, umieszczam go poniżej w pełnej wersji. Życzę smacznego!
Wstęp
Deweloperzy pracujący nad rozwojem framework’a postawili duży nacisk na to by produkt, który tworzą, był bardziej spójny, dobrze udokumentowany, zwiększający produktywność i szybkość uruchamiania aplikacji. Artykuł opisuje dlaczego i w jaki sposób developerzy chcą zrealizować postawione przez siebie cele. Do pełnego zrozumienia będzie potrzebna podstawowa znajomość pierwszej wersji Zend Framework, wzorców projektowych i PHP 5.3.
Prosty i szybki proces nauki
Pierwszy krok jest najtrudniejszy, to stwierdzenie, dokładnie oddaje najczęściej napotykany problem, przez rozpoczynających przygodę z pierwszą wersją framework’a, programistów. Pomimo dobrej dokumentacji i dopracowania rozdziału „Quick Start”, programista napotyka na dodatkowe problemy związane z rozwojem aplikacji:
Spójność. Dokumentacja opisuje jak korzystać z poszczególnych komponentów takich jak Zend_Cache, Zend_Translate, Zend_Form, itd. ale brakuje kompletnego przykładu, pokazującego jak połączyć istniejące komponenty, w bardziej złożonej i dynamicznie rozszerzanej o nowe funkcjonalności aplikacji.
Niekonsekwencja API. Pierwsza wersja framework’a zawiera hepler’y, plugin’y i filtry, niektóre z nich posiadają spójny interfejs a pozostałe już nie. Cześć z nich posiada niejawne metody tworzone poprzez __call(), które trudniej jest znaleźć w kodzie. Część z komponentów pozwala na konfigurację poprzez przekazanie array lub obiektu Zend_Config natomiast pozostałe wyłącznie array. Niektóre komponenty pozwalają na konfigurację camelCaseOption natomiast inne na underscore_separated.
Rozwiązanie, które deweloperzy zaproponowali jako remedium na powyższe problemy można przedstawić w kilku zwięzłych punktach:
Stworzenie podręcznika demonstrującego kompletny cykl tworzenia aplikacji internetowej w ZF2.