Technologie i narzędzia: język PHP 5, Java, JavaScript, Python, system Zend Framework, Django, biblioteka jQuery, Smarty, platforma Eclipse, MySQL, SVN, CVS, UML, Firefox.
WebProgramming - wszystko o serwisach internetowych
O serwisach internetowych.
[zend] Rzut oka na Zend Framework
Oto moje pierwsze podejście do omówienia systemu Zend Framework z bliska - a trzeba przyznać, iż to zadanie nie należy do najłatwiejszych ;).
Zaznaczam, iż przedstawiony diagram jest (mimo wszelkich starań) tylko poglądowy - z jednej strony nie przedstawia wszystkich klas inicjowanych podczas wykonywania żądania, z drugiej natomiast w zależności od konfiguracji może wyglądać inaczej (na przykład brak automatycznego wykonania wtyczki Zend_Controller_Action_Helper_ViewRender).
Najciekawsze miejsca oraz uwagi:
- w niektórych rozwiązaniach inicjowanie klasy Zend_Front_Controller odbywa się w klasie pomocniczej zwanej Bootstrap
- setup - konfiguracja i inicjowanie wszystkich ważniejszych części systemu, czyli na przykład: bazy danych, klasy Request oraz Response, widoku, wtyczek kontrolera, czy też routingu. Niektóre z nich bywają zapisane w “rejestrze” systemu (klasa Zend_Registry), dzięki czemu są dostępne z każdego miejsca aplikacji.
- setup: FrontController - konfiguracja klasy Zend_Front_Controller poprzez ustawienie odpowiednich flag i klas (między innymi Request oraz Response)
- klasa Zend_Controller_Action reprezentuje konkretną klasę zawierającą akcje (metody w stylu actionIndex())
- domyślnie buforowanie odpowiedzi jest wyłączone, a wynik żądania jest wysyłany na końcu metody dispatch() “głównego” kontrolera
- automatyczne wykonywanie szablonu widoku po wykonaniu akcji (na diagramie oznaczona jako action) odbywa się dzięki wtyczce akcji o nazwie Zend_Controller_Action_Helper_ViewRender. Jeżeli renderowanie uruchomimy ręcznie w akcji (za pomocą metody render()), wtyczka nie wygeneruje jej ponownie.
- pętla z warunkiem ! isDispatched() umożliwia między innymi budowanie łańcucha akcji wykonywanych jedna po drugiej (korzysta z niej na przykład metoda _forward())
Powyższy diagram stanie się podstawą do następnych rozważań na temat Zend Framework, w związku z czym konstruktywne uwagi mile widziane.
Komentarze: 2 to “[zend] Rzut oka na Zend Framework”
Napisz komentarz

Szymonie wszystkie pięknie, mam tylko uwagę co do diagramu. Moim zdaniem skrócenie nazw klas wpłynęło negatywnie na czytelność (za pewnie chciałeś uzyskać odwrotny efekt).
Tak chciałem uzyskać odwrotny efekt, nazwy klas są za długie. Mam nadzieje, że z tą czytelnością nie jest aż tak źle.