[MANUAL] English:
[zend.git] / documentation / manual / pl / module_specs / Zend_View-Controllers.xml
blob071eb1b8fb19e6f096b9066403f0600d3196a3f3
1 <sect1 id="zend.view.controllers">
2     <title>Skrypt kontrolera</title>
4     <para>
5         Kontroler jest miejscem, w którym tworzysz i konfigurujesz instancję
6         Zend_View. Potem przypisujesz do tej instancji zmienne zawierające dane,
7         a następnie wybierasz skrypt widoku, który ma być zrenderowany.
8     </para>
10     <sect2 id="zend.view.controllers.assign">
12         <title>Przekazywanie zmiennych</title>
14         <para>
15             Twój skrypt kontrolera powinien przypisać potrzebne zmienne do
16             instancji widoku, zanim przekaże kontrolę do skryptu widoku. Możesz
17             to zrobić przypisując zmienne do zmiennych instancji widoku:
18         </para>
20         <programlisting role="php"><![CDATA[
21 $view = new Zend_View();
22 $view->a = "Hay";
23 $view->b = "Bee";
24 $view->c = "Sea";
25 ]]>
26         </programlisting>
28         <para>
29             Jednak mogłoby być niewygodnie gdy zmienne, które masz przekazać
30             są zebrane w tablicy lub obiekce.
31         </para>
33         <para>
34             Metoda assign() pozwala na automatyczne przypisanie wszystkich
35             zmiennych z tablicy lub obiektu. Poniższe przykłady dają taki sam
36             efekt jak poprzedni przykład, w którym zmienne były przypisywane
37             pojedynczo:
38         </para>
40         <programlisting role="php"><![CDATA[
41 $view = new Zend_View();
43 // przypisuje tablicę zmiennych w postaci par
44 // klucz-wartość, gdzie klucz jest nazwą przypisanej
45 // zmiennej, a wartość jest jej wartościa.
46 $array = array(
47     'a' => "Hay",
48     'b' => "Bee",
49     'c' => "Sea",
51 $view->assign($array);
53 // robi to samo z publicznymi właściwościami
54 // obiektu. zauważ jak rzutujemy obiekt na
55 // tablicę podczas przypisywania
56 $obj = new StdClass;
57 $obj->a = "Hay";
58 $obj->b = "Bee";
59 $obj->c = "Sea";
60 $view->assign((array) $obj);
61 ]]>
62         </programlisting>
64         <para>
65             Oczywiście możesz także przypisywać zmienne jedna po drugiej,
66             przekazując nazwę zmiennej jako łańcuch znaków, a potem wartość
67             zmiennej:
68         </para>
70         <programlisting role="php"><![CDATA[
71 $view = new Zend_View();
72 $view->assign('a', "Hay");
73 $view->assign('b', "Bee");
74 $view->assign('c', "Sea");
75 ]]>
76         </programlisting>
78     </sect2>
80     <sect2 id="zend.view.controllers.render">
82         <title>Wykonywanie skryptu widoku</title>
84         <para>
85             Kiedy już przypisałeś wszystkie zmienne, kontroler powinien przekazać
86             obiektowi Zend_View informację o wykonaniu konkretnego skryptu widoku.
87             Zrób to wywołując metodę render(). Zauważ, że ta metoda zwróci
88             wygenerowany widok zamiast wyświetlając go, więc musisz sam go wyświetlić
89             za pomocą funkcji echo() lub print().
90         </para>
92         <programlisting role="php"><![CDATA[
93 $view = new Zend_View();
94 $view->a = "Hay";
95 $view->b = "Bee";
96 $view->c = "Sea";
97 echo $view->render('someView.php');
98 ]]>
99         </programlisting>
101     </sect2>
103     <sect2 id="zend.view.controllers.script-paths">
105         <title>Ścieżki skryptu widoku</title>
107         <para>
108             Domyślnie, Zend_View oczekuje, że skrypty widoku są umieszczone
109             względnie do skryptu wywołującego. Na przykład jeśli
110             Twój skrypt kontrolera jest w katalogu "/path/to/app/controllers"
111             i wywołuje on $view->render('someView.php'), to Zend_View będzie
112             szukać pliku "/path/to/app/controllers/someView.php".
113         </para>
115         <para>
116             Oczywiście, Twoje skrypty są pewnie umieszczone gdzieś indziej.
117             Aby poinformować Zend_View o tym, gdzie ma szukać skryptów, użyj
118             metody setScriptPath().
119         </para>
121         <programlisting role="php"><![CDATA[
122 $view = new Zend_View();
123 $view->setScriptPath('/path/to/app/views');
125         </programlisting>
127         <para>
128             Teraz kiedy wywołasz metodę $view->render('someView.php'), będzie ona
129             szukać pliku "/path/to/app/views/someView.php".
130         </para>
132         <para>
133             Oczywiście możesz dodawać ścieżki na stos używająć metody addScriptPath().
134             Gdy dodajesz ścieżki na stos, Zend_View będzie szukać skryptu widoku
135             począwszy od ostatnio dodanej ścieżki. To pozwala na nadpisanie domyślnych
136             widoków za pomocą innych widoków, dzięki czemu możesz tworzyć różne
137             "motywy" czy "skórki" dla niektórych widoków, zostawiając inne bez zmian.
138         </para>
140         <programlisting role="php"><![CDATA[
141 $view = new Zend_View();
142 $view->addScriptPath('/path/to/app/views');
143 $view->addScriptPath('/path/to/custom/');
145 // teraz gdy wywołasz $view->render('booklist.php'), Zend_View będzie
146 // wpierw szukać pliku "/path/to/custom/booklist.php", potem
147 // "/path/to/app/views/booklist.php", a ostatecznie pliku "booklist.php"
148 // w bieżącym katalogu
150         </programlisting>
152     </sect2>
154 </sect1>