[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / hu / module_specs / Zend_Controller-Basics.xml
blob247770ec95cbcfccc13ce92c3804b287e65897aa
1 <sect1 id="zend.controller.basics">
2     <title>Zend_Controller alapok</title>
3     <para>
4         A
5         <code>Zend_Controller</code>
6         rendszert könnyűnek, modulárisnak és kiterjeszthetőnek tervezték. Minimalista kivitelezés, hogy rugalmasságot és szabadságot engedjen a felhasználóknak, miközben elegendő szerkezetet nyújt hozzá, hogy a
7         <code>Zend_Controller</code>
8         köré épült rendszerek néhány gyakori egyezményen és hasonló kódelrendezésen osztozzanak.
9     </para>
10     <para>
11         A következő ábra bemutatja a munkafolyamatot, az utána következőkben pedig részletesen leírjuk a kölcsönhatásokat:
12     </para>
13     <para>
14         <inlinegraphic
15             align="center"
16             fileref="figures/zend.controller.basics.png"
17             format="PNG"
18             scale="100"
19             valign="middle"
20             width="483"
21         />
22     </para>
23     <para>
24         A
25         <code>Zend_Controller</code>
26         munkafolyamatot több összetevő valósítja meg. Habár nem szükséges teljesen megérteni ezen összetevők működését ahhoz, hogy használjuk a rendszert, a folyamat gyakorlati ismerete hasznos lehet.
27     </para>
28         <itemizedlist>
29             <listitem>
30                 <para>
31                     A
32                     <code>Zend_Controller_Front</code>
33                     hangszereli a
34                     <code>Zend_Controller</code>
35                     rendszer teljes munkafolyamatát. Az Elülső Vezérlő minta egy megvalósítása. A
36                     <code>Zend_Controller_Front</code> dolgozza fel a kiszolgáló által fogadott összes kérést, és teljes egészében felelős a kérések Műveletvezérlőkhöz (<code>Zend_Controller_Action</code>) való kiküldéséért.
37                 </para>
38             </listitem>
39             <listitem>
40                 <para>
41                     A
42                     <code>Zend_Controller_Request_Abstract</code>
43                     (gyakran csak mint a
44                     <code>Kérés Objektum</code>)
45                     képviseli a kérés környezetét és tagfüggvények segítségével lehetővé teszi a vezérlő és művelet nevek, illetve minden kérés-paraméter beállítását és kinyerését. Továbbá számon tartja, hogy a művelet, amit tartalmaz, el lett-e indítva a
46                     <code>Zend_Controller_Dispatcher</code>
47                     által vagy sem. Az elvont kérés objektum kiterjesztései felhasználhatók a teljes környezet megukba foglalására, lehetővé téve az útválasztóknak, hogy információt szedjenek ki belőle a vezérlő és művelet nevek beállítása céljából.
48                 </para>
49                 <para>
50                     Alapból a
51                     <code>Zend_Controller_Request_Http</code>
52                     van használva, mely a teljes HTTP kéréskörnyezethez hozzáférést biztosít.
53                 </para>
54             </listitem>
55             <listitem>
56                 <para>
57                     A
58                     <code>Zend_Controller_Router_Interface</code>-t
59                     útválasztók meghatározásához használjuk. Az útválasztás az a folyamat, melynek során a kéréskörnyezet alapján eldöntjük melyik vezérlőnek, és eme vezérlőnek mely műveletének kell a kérést fogadnia. Ez a vezérlő, művelet és esetleges más paraméterek aztán bekerülnek a kérés objektumba, hogy aztán feldolgozásra kerüljenek a
60                     <code>Zend_Controller_Dispatcher_Standard</code>
61                     által. Útválasztás csak pontosan egyszer zajlik: mikor a kérés megérkezik, az első művelet elindítása előtt.
62                 </para>
63                 <para>
64                     Az alapértelmezett útválasztó, a
65                     <code>Zend_Controller_Router_Route_Rewrite</code>
66                     vesz egy URI végpontot, ahogy az a
67                     <code>Zend_Controller_Request_Http</code>-ben
68                     van megadva, majd szétbontja azt egy vezérlőre, műveletre és paraméterekre az URL-ben szereplő elérési út alapján. Példának okáért a
69                     <code>http://localhost/ize/bigyo/kulcs/ertek</code>
70                     URL-t visszafejtve az
71                     <code>ize</code>
72                     vezérlő, a
73                     <code>bigyo</code>
74                     művelet lesz használva, megadva a
75                     <code>kulcs</code>
76                     paramétert
77                     <code>ertek</code>
78                     értékkel.
79                 </para>
80                 <para>
81                     <code>A Zend_Controller_Router_Rewrite</code>-ot
82                     egyéni elérési utaknak is meg lehet feleltetni; további inforációkért lásd
83                     <link linkend="zend.controller.router">az útválasztó dokumentációját</link>.
84                 </para>
85             </listitem>
86             <listitem>
87                 <para>
88                     A
89                     <code>Zend_Controller_Dispatcher_Interface</code>-t
90                     kézbesítők meghatározására használjuk. A kézbesítés a folyamat, amely során kinyerjük a vezérlőt és a műveletet a kérés objektumból és leképezzük egy vezérlő állományra/osztályra és művelet tagfüggvényre a vezérlő osztályban. Ha a vezérlő vagy a művelet nem létezik, meghatározza az alapértelmezett vezérlőt és műveletet, aminek kézbesíteni kell.
91                 </para>
92                 <para>
93                     Maga a kézbesítés folyamata a vezérlő példányosításából és az ebben az osztályban lévő művelet tagfüggvény meghívásából áll. Eltérően az útválasztástól, ami csak egyszer történik, a kézbesítés ciklikusan zajlik. Ha a kérés objektum kézbesített állapotát bármikor visszaállítjuk, a ciklus megismétlődik, meghívva azt a műveletet, ami a kérés objektumban épp be van állítva. Az első alkalommal, amikor a ciklus úgy végződik, hogy a kérés objektum kézbesített állapotba van állítva (logikai igaz), a folyamat megáll.
94                 </para>
95                 <para>
96                     Az alapértelmezett kézbesítő a
97                     <code>Zend_Controller_Dispatcher_Standard</code>.
98                     Ez a vezérlőket a Controller szóra végződő, TeveBetűzöttOsztályokként határozzza meg, a művelet tagfüggvényeket pedig az Action szóra végződő teveBetűzöttTagfüggvényekként:
99                     <code>IzeController::bigyoAction()</code>.
100                     Ebben az esetben a vezérlőre
101                     <code>ize</code>ként,
102                     a műveletre pedig
103                     <code>bigyo</code>ként
104                     hivatkozhatunk.
105                 </para>
106                 <note>
107                     <title>TeveBetűzöttElnevezésiMegállapodások</title>
108                     <para>
109                         Mivel az emberek közismerten következetlenek a betűzés megtartásában hivatkozások gépelésekor, a Zend Framework egységesen kisbetűsre alakítja az elérési utakat. Ez természetesen kihatással lesz arra, hogyan nevezed el a vezérlőid és műveleteid… vagy hogyan utalsz rájuk a hivatkozásokban.
110                     </para>
111                     <para>
112                         Ha szeretnéd, hogy a vezérlő osztályod vagy műveletneved több TeveBetűzöttSzóból álljon, ezeket a szavakat az URL-ben egy kötőjellel vagy egy ponttal kell elválasztanod (habár beállíthatod a használandó karaktert).
113                     </para>
114                     <para>
115                         A példa kedvéért, ha az
116                         <code>IzeBigyoController::bigyoBigyocskaAction()</code>
117                         műveletet akarod elérni, akkor mint
118                         <code>/ize-bigyo/bigyo-bigyocska</code>
119                         vagy
120                         <code>/ize-bigyo/bigyo-bigyocska</code>
121                         kell hivatkoznod rájuk az URL-ben.
122                     </para>
123                 </note>
124             </listitem>
125             <listitem>
126                 <para>
127                     A
128                     <code>Zend_Controller_Action</code>
129                     az alap műveletvezérlő összetevő. Minden vezérlő egy osztály, ami a
130                     <code>Zend_Controller_Action</code>
131                     osztálytól örököl, és egy vagy több művelet tagfüggvényt kell tartalmaznia.
132                 </para>
133             </listitem>
134             <listitem>
135                 <para>
136                     A
137                     <code>Zend_Controller_Response_Abstract</code>
138                     ír le egy a műveletvezérlőkből a válaszok összegyűjtésére és visszaküldésére használt alap válasz osztályt. Mind a fejléc, mind pedig a törzs tartalmat összegyűjti.
139                 </para>
140                 <para>
141                     Az alapértelmezett válasz osztály a
142                     <code>Zend_Controller_Response_Http</code>,
143                     amely a HTTP környezetben való használatra alkalmas.
144                 </para>
145             </listitem>
146         </itemizedlist>
147     <para>
148         A
149         <code>Zend_Controller</code>
150         munkafolyamata viszonylag egyszerű. A
151         <code>Zend_Controller_Front</code>
152         fogadja a kérést, majd meghívja a
153         <code>Zend_Controller_Router_Rewrite</code>-ot,
154         hogy megállapítsa, melyik vezérlőnek (és műveletnek abban a vezérlőben) kézbesítsen. A
155         <code>Zend_Controller_Router_Rewrite</code>
156         felbontja az URI-t, hogy beállítsa a vezérlő és művelet neveket a kérésben. Ezután a
157         <code>Zend_Controller_Front</code>
158         belép a kézbesítési ciklusba. Meghívja a
159         <code>Zend_Controller_Dispatcher_Standard</code>-et,
160         átadva a kérést, hogy kézbesítse a kérésben megadott (vagy az alapbeállítású) vezérlőnek és a műveletnek. Miután a vezérlő végzett, az irányítás visszakerül a
161         <code>Zend_Controller_Front</code>-hoz.
162         Ha a vezérlő a kérés kézbesített állapotának visszaállításával jelezte, hogy egy másik vezérlőnek kell kézbesíteni, a ciklus folytatódik és újabb kézbesítés következik. Egyébként a folyamat leáll.
163     </para>
164 </sect1>
165 <!--
166 vim:se ts=4 sw=4 et: