Zend Framework & wprowadzenie do MVC
Zend Framework
Zend Framework to otwarty, zorientowany obiektowo framework aplikacji webowych
przeznaczony dla PHP 5. ZF jest często określany mianem 'biblioteki
komponentów' ponieważ składa się z wielu, luźno powiązanych części, których można
używać niezależnie od siebie.
Dodatkowo Zend Framework oferuje zaawansowaną implementację
wzorca projektowego Model-Widok-Kontroler
(Model-View-Controller - MVC),
która może zostać użyta do skonstruowania podstawowej struktury aplikacji.
Pełna lista komponentów Zend Framework razem z krótkim opisem znajduje się w dziale
omówienie komponentów.
Wprowadzenie "QuickStart" stanowi wstęp do poznania najczęściej używanych komponentów
Zend Framework, takich jak:
Zend_Controller,
Zend_Layout,
Zend_Config,
Zend_Db,
Zend_Db_Table,
Zend_Registry, oraz kilku klas pomocniczych (view helpers).
Za pomocą tych komponentów w ciągu kilkudziesięciu minut zostanie utworzona
prosta aplikacja oparta na bazie danych - księga gości (guest book). Pełny kod
źródłowy tej aplikacji jest dostępny w następujących archiwach:
zip
tar.gz
Model-View-Controller
Tak więc, czym dokładnie jest ten będący na ustach wszystkich wzorzec
MVC? I dlaczego miałoby to mnie obchodzić?
MVC to o wiele więcej niż kolejny skrót,
który można mimowolnie wplatać w wypowiedź aby spróbować wywrzeć wrażenie na innych;
z biegiem czasu MVC nie bez przyczyny stał się standardem
projektowania nowoczesnych aplikacji webowych.
Większość aplikacji sieciowych opiera się w znacznej mierze
na funkcjonalnościach, które można podzielić na trzy kategorie: warstwa prezentacji,
logika biznesowa, dostęp do danych.
Wzorzec MVC ułatwia zaprojektowanie oprogramowania z
zachowaniem odrębności każdej z tych warstw.
W efekcie kod prezentacji może zostać umieszczony w jednej części aplikacji,
logika biznesowa w drugiej, a dostęp do danych w trzeciej.
Wielu programistów przekonało się, że dobrze zdefiniowane odseparowanie jest
nieodzowne dla utrzymania kodu w zorganizowanej
strukturze, zwłaszcza przy projektach wieloosobowych.
Więcej informacji
Omawiany wzorzec można podzielić na następujące części:
Model - Ta część aplikacji definiuje jej podstawowe
funkcjonalności w sposób mniej lub bardziej abstrakcyjny. Sposób dostępu
do danych oraz logika biznesowa również mogą być zdefiniowane w tym miejscu.
View (Widok) - Ten element definiuje wszystko to co
zostaje zaprezentowane użytkownikowi. Najczęściej kontrolery przekazują
dane do każdego z widoków do uformowania i przedstawienia w określonym
formacie. Poprzez widoki następuje również odebranie danych od użytkownika.
W tej części będzie się znajdował kod HTML aplikacji MVC.
Controller (Kontroler) - Ten składnik łączy cały
wzorzec razem. Kontrolery manipulują modelami, decydują o widoku, jaki
zostanie zaprezentowany (na podstawie interakcji z użytkownikiem).
Odpowiadają także za przekazanie danych do widoków lub przekazanie
kontroli do innego kontrolera. Większość ekspertów MVC zaleca
tworzenie możliwie jak najmniejszych kontrolerów.
Oczywiście, aby zgłębić temat wzorca MVC
należałoby go rozwinąć
ale dla zrozumienia opisywanej aplikacji - księgi gości - powyższy, minimalny
opis powinien wystarczyć.