| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 20827 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.progressbar.introduction" xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>Zend_ProgressBar</title>
- <sect2 id="zend.progressbar.whatisit">
- <title>Wprowadzenie</title>
- <para>
- <classname>Zend_ProgressBar</classname> to komponent służący do tworzenia i
- aktualizacji pasków postępu (progressbar) w różnych środowiskach. Składa się na niego
- pojedynczy element backendu, który sygnalizuje postęp poprzez jeden z wielu
- dostępnych adapterów. Podczas każdej aktualizacji brana jest wartość absolutna i
- opcjonalna wiadomość o stanie postępu a następnie skonfigurowany adapter
- jest wywoływany z obliczonymi danymi takimi jak procent postępu
- oraz czas, jaki został do końca wykonywanej akcji.
- </para>
- </sect2>
- <sect2 id="zend.progressbar.basic">
- <title>Podstawowe użycie Zend_Progressbar</title>
- <para>
- <classname>Zend_ProgressBar</classname> jest komponentem łatwym w użyciu. Należy,
- po prostu, utworzyć nową instancję klasy <classname>Zend_Progressbar</classname>,
- definiując wartość minimalną i maksymalną oraz wybrać adapter służący prezentacji
- danych o postępie działań. W przypadku operacji na pliku, użycie może wyglądać
- następująco:
- </para>
- <programlisting language="php"><![CDATA[
- $progressBar = new Zend_ProgressBar($adapter, 0, $fileSize);
- while (!feof($fp)) {
- // Wykonanie operacji
- $progressBar->update($currentByteCount);
- }
- $progressBar->finish();
- ]]></programlisting>
- <para>
- W pierwszym kroku tworzona jest instancja <classname>Zend_ProgressBar</classname>
- ze zdefiniowanym adapterem, wartością minimalną: 0, oraz maksymalną równą
- rozmiarowi pliku. Po tym następuje seria operacji na pliku w pętli.
- Podczas każdej iteracji pętli, pasek postępu jest aktualizowany danymi o
- ilości "przerobionych" bajtów pliku.
- </para>
- <para>
- Metodę <methodname>update()</methodname> klasy <classname>Zend_ProgressBar</classname>
- można również wywoływać bez argumentów. Powoduje to przeliczenie czasu do końca
- wykonywanej akcji i wysłanie go do adaptera. Ten sposób może być przydatny gdy nie
- ma konkretnych danych do wysłania adapterowi ale niezbędna jest aktualizacja
- paska postępu.
- </para>
- </sect2>
- <sect2 id="zend.progressbar.persistent">
- <title>Postęp utrwalony (persistent progress)</title>
- <para>
- Jeśli zajdzie potrzeba utrzymania paska postępu przez wiele żądań, można w tym celu
- podać łańcuch znaków z przestrzenią nazw sesji
- jako czwarty argument konstruktora. W tym przypadku
- pasek postępu nie uaktualni adaptera w momencie konstruowania - niezbędne będzie
- wywołanie metody <methodname>update()</methodname>
- lub <methodname>finish()</methodname>.
- Obecna wartość, tekst stanu postępu oraz czas rozpoczęcia działania
- (wymagany przy obliczaniu czasu pozostałego do końca) będą pobrane podczas następnego
- żądania i uruchomienia skryptu.
- </para>
- </sect2>
- <sect2 id="zend.progressbar.adapters">
- <title>Standardowe adaptery</title>
- <para>
- Standardowo <classname>Zend_ProgressBar</classname> ma do dyspozycji następujące
- adaptery:
- <itemizedlist mark="opencircle">
- <listitem>
- <para><xref linkend="zend.progressbar.adapter.console" /></para>
- </listitem>
- <listitem><para><xref linkend="zend.progressbar.adapter.jspush" /></para></listitem>
- <listitem><para><xref linkend="zend.progressbar.adapter.jspull" /></para></listitem>
- </itemizedlist>
- </para>
- <xi:include href="Zend_ProgressBar_Adapter_Console.xml" />
- <xi:include href="Zend_ProgressBar_Adapter_JsPush.xml" />
- <xi:include href="Zend_ProgressBar_Adapter_JsPull.xml" />
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|