[MANUAL] English:
[zend.git] / documentation / manual / pl / tutorials / quickstart-intro-mvc.xml
blob422eed818f25e56fff46e2d1d955228fc01dde4d
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20106 -->
3 <!-- Reviewed: yes -->
4 <sect1 id="learning.quickstart.intro">
5     <title>Zend Framework &amp; wprowadzenie do MVC</title>
7     <sect2 id="learning.quickstart.intro.zf">
8         <title>Zend Framework</title>
10         <para>
11             Zend Framework to otwarty, zorientowany obiektowo framework aplikacji webowych
12             przeznaczony dla <acronym>PHP</acronym> 5. ZF jest często określany mianem 'biblioteki
13             komponentów' ponieważ składa się z wielu, luźno powiązanych części, których można
14             używać niezależnie od siebie.
15             Dodatkowo Zend Framework oferuje zaawansowaną implementację
16             wzorca projektowego Model-Widok-Kontroler
17             (Model-View-Controller - <acronym>MVC</acronym>),
18             która może zostać użyta do skonstruowania podstawowej struktury aplikacji.
19             Pełna lista komponentów Zend Framework razem z krótkim opisem znajduje się w dziale
20             <ulink url="http://framework.zend.com/about/components">omówienie komponentów</ulink>.
21             Wprowadzenie "QuickStart" stanowi wstęp do poznania najczęściej używanych komponentów
22             Zend Framework, takich jak:
23             <classname>Zend_Controller</classname>,
24             <classname>Zend_Layout</classname>,
25             <classname>Zend_Config</classname>,
26             <classname>Zend_Db</classname>,
27             <classname>Zend_Db_Table</classname>,
28             <classname>Zend_Registry</classname>, oraz kilku klas pomocniczych (view helpers).
29         </para>
31         <para>
32             Za pomocą tych komponentów w ciągu kilkudziesięciu minut zostanie utworzona
33             prosta aplikacja oparta na bazie danych - księga gości (guest book). Pełny kod
34             źródłowy tej aplikacji jest dostępny w następujących archiwach:
35         </para>
37         <itemizedlist>
38             <listitem>
39                 <para>
40                     <ulink
41                     url="http://framework.zend.com/demos/ZendFrameworkQuickstart.zip">zip</ulink>
42                 </para>
43             </listitem>
45             <listitem>
46                 <para>
47                     <ulink
48                 url="http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz">tar.gz</ulink>
49                 </para>
50             </listitem>
51         </itemizedlist>
52     </sect2>
54     <sect2 id="learning.quickstart.intro.mvc">
55         <title>Model-View-Controller</title>
57         <para>
58             Tak więc, czym dokładnie jest ten będący na ustach wszystkich wzorzec
59             <acronym>MVC</acronym>? I dlaczego miałoby to mnie obchodzić?
60             <acronym>MVC</acronym> to o wiele więcej niż kolejny skrót,
61             który można mimowolnie wplatać w wypowiedź aby spróbować wywrzeć wrażenie na innych;
62             z biegiem czasu <acronym>MVC</acronym> nie bez przyczyny stał się standardem
63             projektowania nowoczesnych aplikacji webowych.
64             Większość aplikacji sieciowych opiera się w znacznej mierze
65             na funkcjonalnościach, które można podzielić na trzy kategorie: warstwa prezentacji,
66             logika biznesowa, dostęp do danych.
67             Wzorzec <acronym>MVC</acronym> ułatwia zaprojektowanie oprogramowania z
68             zachowaniem odrębności każdej z tych warstw.
69             W efekcie kod prezentacji może zostać umieszczony w jednej części aplikacji,
70             logika biznesowa w drugiej, a dostęp do danych w trzeciej.
71             Wielu programistów przekonało się, że dobrze zdefiniowane odseparowanie jest
72             nieodzowne dla utrzymania kodu w zorganizowanej
73             strukturze, zwłaszcza przy projektach wieloosobowych.
74         </para>
76         <note>
77             <title>Więcej informacji</title>
79             <para>
80                 Omawiany wzorzec można podzielić na następujące części:
81             </para>
83             <para>
84                 <inlinegraphic width="321" scale="100" align="center" valign="middle"
85                     fileref="figures/learning.quickstart.intro.mvc.png" format="PNG" />
86             </para>
88             <itemizedlist>
89                 <listitem>
90                     <para>
91                         <emphasis>Model</emphasis> - Ta część aplikacji definiuje jej podstawowe
92                         funkcjonalności w sposób mniej lub bardziej abstrakcyjny. Sposób dostępu
93                         do danych oraz logika biznesowa również mogą być zdefiniowane w tym miejscu.
94                     </para>
95                 </listitem>
97                 <listitem>
98                     <para>
99                         <emphasis>View (Widok)</emphasis> - Ten element definiuje wszystko to co
100                         zostaje zaprezentowane użytkownikowi. Najczęściej kontrolery przekazują
101                         dane do każdego z widoków do uformowania i przedstawienia w określonym
102                         formacie. Poprzez widoki następuje również odebranie danych od użytkownika.
103                         W tej części będzie się znajdował kod HTML aplikacji <acronym>MVC</acronym>.
104                     </para>
105                 </listitem>
107                 <listitem>
108                     <para>
109                         <emphasis>Controller (Kontroler)</emphasis> - Ten składnik łączy cały
110                         wzorzec razem. Kontrolery manipulują modelami, decydują o widoku, jaki
111                         zostanie zaprezentowany (na podstawie interakcji z użytkownikiem).
112                         Odpowiadają także za przekazanie danych do widoków lub przekazanie
113                         kontroli do innego kontrolera. Większość ekspertów MVC zaleca
114                     <ulink url="http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model">
115                         tworzenie możliwie jak najmniejszych kontrolerów</ulink>.
116                     </para>
117                 </listitem>
118             </itemizedlist>
120             <para>
121                 Oczywiście, aby zgłębić temat wzorca <acronym>MVC</acronym>
122                 <ulink url="http://ootips.org/mvc-pattern.html">należałoby go rozwinąć</ulink>
123                 ale dla zrozumienia opisywanej aplikacji - księgi gości - powyższy, minimalny
124                 opis powinien wystarczyć.
125             </para>
126         </note>
127     </sect2>
128 </sect1>