1 <sect1 id="zend.progressbar.introduction" xmlns:xi="http://www.w3.org/2001/XInclude">
2 <title>Zend_ProgressBar</title>
4 <sect2 id="zend.progressbar.whatisit">
7 <code>Zend_ProgressBar</code> הינו רכיב ליצירה ועדכון של בר התקדמות בסביבות עבודה שונות. הוא מכיל חלק מרכזי, אשר מדפיס את ההתקדמות דרך אחד מהמתאמים הנתנים לשימוש.
8 בכל עדכון, הוא מקבל ערך אבסולוטי והודעה אופציונלית, ואז קורא למתאם עם הערך המחושב האחוז והזמן שנשאר.
12 <sect2 id="zend.progressbar.basic">
13 <title>שימוש בסיסי ב <code>Zend_Progressbar</code></title>
15 <code>Zend_ProgressBar</code> הוא די פשוט בשימוש שלו. כל מה שצריך לעשות זה ליצור אובייקט חדש של <code>Zend_ProgressBar</code>, הגדרת ערך מינימלי וערך מקסימלי, ולבחור בסוג המתאם לשימוש ולהצגת הנתונים.
16 אם תרצו לעבד קובץ תצטרכו לעשות משהו כזה:
19 <programlisting role="php"><![CDATA[
20 $progressBar = new Zend_ProgressBar($adapter, 0, $fileSize);
25 $progressBar->update($currentByteCount);
28 $progressBar->finish();
33 בשלב הראשון, אובייקט של <code>Zend_ProgressBar</code> נוצר, עם מתאם מסויים, ערך מינימלי שהוא 0 וערך מקסימלי שהוא בעצם הגודל של הקובץ.
34 לאחר מכן הקובץ מעובד ובכל פעם בלולאה ההתקמות מעודכנת עם הערך החדש על פי מספר הבתים שהועלו. בסופה של הלולאה, ההתקדמות הסתיימה.
37 ניתן גם לקרוא למתודת ה <code>update()</code> של <code>Zend_ProgressBar</code> ללא פרמטרים, שבסך הכל מחשבת את הזמן המוערך ומודיע למתאם.
38 זה שימוש כשאין לך מידע לעדכן אבל אתה רוצה שבר ההתקדמות התעדכן.
42 <sect2 id="zend.progressbar.persistent">
43 <title>התקדמות קבועה</title>
45 אם הנך רוצה שבר ההתקדמות יהיה קבוע בכל עמוד ובמספר רב של בקשות, תוכל לתת שם שישמש בתור מזהה יחודי בתור פרמטר רבעי כשהאובייקט נוצר. במקרה הזה, בר ההתקדמות לא ידווח למתאם אשר יצר את האובייקט אלה רק מתי שהמתודות
46 <code>update()</code> או <code>finish()</code> יקראו.
47 כמו כן הערך הנוכחי, סטטוס ההודעה וזמן ההתחלה כדי לחשב את זמן הסיום המשוער יוחזרו בבקשה הבאה בכל פעם.
51 <sect2 id="zend.progressbar.adapters">
52 <title>מתאמים סטנדרטיים</title>
54 <code>Zend_ProgressBar</code> מגיע עם המתאמים הבאים:
56 <itemizedlist mark="opencircle">
57 <listitem><para><xref linkend="zend.progressbar.adapter.console" /></para></listitem>
58 <listitem><para><xref linkend="zend.progressbar.adapter.jspush" /></para></listitem>
59 <listitem><para><xref linkend="zend.progressbar.adapter.jspull" /></para></listitem>
62 <xi:include href="Zend_ProgressBar_Adapter_Console.xml" />
63 <xi:include href="Zend_ProgressBar_Adapter_JsPush.xml" />
64 <xi:include href="Zend_ProgressBar_Adapter_JsPull.xml" />