| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: yes -->
- <sect1 id="learning.quickstart.intro">
- <title>Zend Framework & wprowadzenie do MVC</title>
- <sect2 id="learning.quickstart.intro.zf">
- <title>Zend Framework</title>
- <para>
- Zend Framework to otwarty, zorientowany obiektowo framework aplikacji webowych
- przeznaczony dla <acronym>PHP</acronym> 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 - <acronym>MVC</acronym>),
- 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
- <ulink url="http://framework.zend.com/about/components">omówienie komponentów</ulink>.
- Wprowadzenie "QuickStart" stanowi wstęp do poznania najczęściej używanych komponentów
- Zend Framework, takich jak:
- <classname>Zend_Controller</classname>,
- <classname>Zend_Layout</classname>,
- <classname>Zend_Config</classname>,
- <classname>Zend_Db</classname>,
- <classname>Zend_Db_Table</classname>,
- <classname>Zend_Registry</classname>, oraz kilku klas pomocniczych (view helpers).
- </para>
- <para>
- 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:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <ulink
- url="http://framework.zend.com/demos/ZendFrameworkQuickstart.zip">zip</ulink>
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink
- url="http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz">tar.gz</ulink>
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="learning.quickstart.intro.mvc">
- <title>Model-View-Controller</title>
- <para>
- Tak więc, czym dokładnie jest ten będący na ustach wszystkich wzorzec
- <acronym>MVC</acronym>? I dlaczego miałoby to mnie obchodzić?
- <acronym>MVC</acronym> 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 <acronym>MVC</acronym> 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 <acronym>MVC</acronym> 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.
- </para>
- <note>
- <title>Więcej informacji</title>
- <para>
- Omawiany wzorzec można podzielić na następujące części:
- </para>
- <para>
- <inlinegraphic width="321" scale="100" align="center" valign="middle"
- fileref="figures/learning.quickstart.intro.mvc.png" format="PNG" />
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>Model</emphasis> - 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.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>View (Widok)</emphasis> - 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 <acronym>MVC</acronym>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Controller (Kontroler)</emphasis> - 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
- <ulink url="http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model">
- tworzenie możliwie jak najmniejszych kontrolerów</ulink>.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Oczywiście, aby zgłębić temat wzorca <acronym>MVC</acronym>
- <ulink url="http://ootips.org/mvc-pattern.html">należałoby go rozwinąć</ulink>
- ale dla zrozumienia opisywanej aplikacji - księgi gości - powyższy, minimalny
- opis powinien wystarczyć.
- </para>
- </note>
- </sect2>
- </sect1>
|