Zend_ProgressBar.xml 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.progressbar.introduction" xmlns:xi="http://www.w3.org/2001/XInclude">
  5. <title>Zend_ProgressBar</title>
  6. <sect2 id="zend.progressbar.whatisit">
  7. <title>Introduction</title>
  8. <para>
  9. <classname>Zend_ProgressBar</classname> est un composant pour créer et mettre à
  10. jour les barres de progression dans différents environnements. Il consiste en un backend
  11. unique, qui affiche la progression au travers de l'un des multiples adaptateurs. A
  12. chaque mise à jour, il prend un chemin absolu et un message d'état, et appelle ensuite
  13. l'adaptateur avec certaines valeurs précalculées comme le pourcentage et le temps
  14. restant estimé.
  15. </para>
  16. </sect2>
  17. <sect2 id="zend.progressbar.basic">
  18. <title>Utilisation basique de Zend_Progressbar</title>
  19. <para>
  20. <classname>Zend_ProgressBar</classname> est assez simple d'utilisation. Vous créez
  21. simplement une nouvelle instance de <classname>Zend_Progressbar</classname>, en
  22. définissant des valeurs minimum et maximum, et en choisissant un adaptateur pour
  23. afficher les données. Si vous voulez travailler avec un fichier, vous pouvez faire comme
  24. ceci :
  25. </para>
  26. <programlisting language="php"><![CDATA[
  27. $progressBar = new Zend_ProgressBar(0, $fileSize, $adapter);
  28. while (!feof($fp)) {
  29. // Faire quelque chose
  30. $progressBar->update($currentByteCount);
  31. }
  32. $progressBar->finish();
  33. ]]></programlisting>
  34. <para>
  35. Dans un premier temps, une instance de <classname>Zend_ProgressBar</classname>,
  36. avec une valeur minimum de 0, une valeur maximum correspondant à la taille totale du
  37. fichier et un adaptateur spécifique. Ensuite on travaille avec le fichier et à chaque
  38. boucle la barre de progression est mise à jour avec le nombre d'octets courant. A la fin
  39. de la boucle, le statut de la barre de progression est réglé à terminé.
  40. </para>
  41. <para>
  42. <classname>Zend_ProgressBar</classname> possède aussi une méthode
  43. <methodname>refresh()</methodname> qui recalcule le temps restant estimé et met à jour l'adaptateur.
  44. Ceci est pratique quand il n'y a aucune donnée à mettre à jour mais que vous souhaitez
  45. que la barre de progression soit mise à jour.
  46. </para>
  47. </sect2>
  48. <sect2 id="zend.progressbar.adapters">
  49. <title>Adaptateurs standard</title>
  50. <para>
  51. <classname>Zend_ProgressBar</classname> est fourni avec les deux adaptateurs
  52. suivants : <itemizedlist mark="opencircle">
  53. <listitem>
  54. <para>
  55. <link
  56. linkend="zend.progressbar.adapter.console">Zend_ProgressBar_Adapter_Console</link>
  57. </para>
  58. </listitem>
  59. <listitem>
  60. <para>
  61. <link
  62. linkend="zend.progressbar.adapter.jspush">Zend_ProgressBar_Adapter_JsPush</link>
  63. </para>
  64. </listitem>
  65. <listitem>
  66. <para>
  67. <link
  68. linkend="zend.progressbar.adapter.jspull">Zend_ProgressBar_Adapter_JsPull</link>
  69. </para>
  70. </listitem>
  71. </itemizedlist>
  72. </para>
  73. <xi:include href="Zend_ProgressBar_Adapter_Console.xml" />
  74. <xi:include href="Zend_ProgressBar_Adapter_JsPush.xml" />
  75. <xi:include href="Zend_ProgressBar_Adapter_JsPull.xml" />
  76. </sect2>
  77. </sect1>