[MANUAL] English:
[zend.git] / documentation / manual / pl / module_specs / Zend_ProgressBar.xml
blob5807c9e49364c547d456136c0f1a2db75d58c2dd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20827 -->
3 <!-- Reviewed: no -->
4 <sect1 id="zend.progressbar.introduction" xmlns:xi="http://www.w3.org/2001/XInclude">
5     <title>Zend_ProgressBar</title>
7     <sect2 id="zend.progressbar.whatisit">
8         <title>Wprowadzenie</title>
10         <para>
11             <classname>Zend_ProgressBar</classname> to komponent służący do tworzenia i
12             aktualizacji pasków postępu (progressbar) w różnych środowiskach. Składa się na niego
13             pojedynczy element backendu, który sygnalizuje postęp poprzez jeden z wielu
14             dostępnych adapterów. Podczas każdej aktualizacji brana jest wartość absolutna i
15             opcjonalna wiadomość o stanie postępu a następnie skonfigurowany adapter
16             jest wywoływany z obliczonymi danymi takimi jak procent postępu
17             oraz czas, jaki został do końca wykonywanej akcji.
18         </para>
19     </sect2>
21     <sect2 id="zend.progressbar.basic">
22         <title>Podstawowe użycie Zend_Progressbar</title>
24         <para>
25             <classname>Zend_ProgressBar</classname> jest komponentem łatwym w użyciu. Należy,
26             po prostu, utworzyć nową instancję klasy <classname>Zend_Progressbar</classname>,
27             definiując wartość minimalną i maksymalną oraz wybrać adapter służący prezentacji
28             danych o postępie działań. W przypadku operacji na pliku, użycie może wyglądać
29             następująco:
30         </para>
32         <programlisting language="php"><![CDATA[
33 $progressBar = new Zend_ProgressBar($adapter, 0, $fileSize);
35 while (!feof($fp)) {
36     // Wykonanie operacji
38     $progressBar->update($currentByteCount);
41 $progressBar->finish();
42 ]]></programlisting>
44         <para>
45             W pierwszym kroku tworzona jest instancja <classname>Zend_ProgressBar</classname>
46             ze zdefiniowanym adapterem, wartością minimalną: 0, oraz maksymalną równą
47             rozmiarowi pliku. Po tym następuje seria operacji na pliku w pętli.
48             Podczas każdej iteracji pętli, pasek postępu jest aktualizowany danymi o
49             ilości "przerobionych" bajtów pliku.
50         </para>
52         <para>
53             Metodę <methodname>update()</methodname> klasy <classname>Zend_ProgressBar</classname>
54             można również wywoływać bez argumentów. Powoduje to przeliczenie czasu do końca
55             wykonywanej akcji i wysłanie go do adaptera. Ten sposób może być przydatny gdy nie
56             ma konkretnych danych do wysłania adapterowi ale niezbędna jest aktualizacja
57             paska postępu. 
58         </para>
59     </sect2>
61     <sect2 id="zend.progressbar.persistent">
62         <title>Postęp utrwalony (persistent progress)</title>
64         <para>
65             Jeśli zajdzie potrzeba utrzymania paska postępu przez wiele żądań, można w tym celu
66             podać łańcuch znaków z przestrzenią nazw sesji
67             jako czwarty argument konstruktora. W tym przypadku
68             pasek postępu nie uaktualni adaptera w momencie konstruowania - niezbędne będzie
69             wywołanie metody <methodname>update()</methodname>
70             lub <methodname>finish()</methodname>.
71             Obecna wartość, tekst stanu postępu oraz czas rozpoczęcia działania
72             (wymagany przy obliczaniu czasu pozostałego do końca) będą pobrane podczas następnego
73             żądania i uruchomienia skryptu.
74         </para>
75     </sect2>
77     <sect2 id="zend.progressbar.adapters">
78         <title>Standardowe adaptery</title>
80         <para>
81             Standardowo <classname>Zend_ProgressBar</classname> ma do dyspozycji następujące
82             adaptery:
83             <itemizedlist mark="opencircle">
84                 <listitem>
85                     <para><xref linkend="zend.progressbar.adapter.console" /></para>
86                 </listitem>
87                 <listitem><para><xref linkend="zend.progressbar.adapter.jspush" /></para></listitem>
88                 <listitem><para><xref linkend="zend.progressbar.adapter.jspull" /></para></listitem>
89             </itemizedlist>
90         </para>
92         <xi:include href="Zend_ProgressBar_Adapter_Console.xml" />
93         <xi:include href="Zend_ProgressBar_Adapter_JsPush.xml" />
94         <xi:include href="Zend_ProgressBar_Adapter_JsPull.xml" />
95     </sect2>
96 </sect1>
97 <!--
98 vim:se ts=4 sw=4 et:
99 -->