| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <sect1 id="zend.date.definition.theory">
- <title>תאורית הפעולות</title>
- <para>
- למה יש רק מחלקה אחת <code>Zend_Date</code> לניהול ותפעול בתאריכים וזמן במערכת ה Zend Framework?
- </para>
- <para>
- הרבה שפות מפרידות את הניהול של זמן ותאריכי לשני מחלקות נפרדות. למרות, ש Zend Framework מנסה להשיג את מקסימום הפשטות בשימוש בה, ולהכריח את המתכנת לנהל שני אובייקטים שונים לתאריכים ולזמן בנפרד לפעמים יכולה להיות מטרד.
- מאחר והמתודות ב <code>Zend_Date</code> תומכות בעבודה עם תאריכים שונים אשר לא יכללו את כל החלקים (עידן, שנה, חודש, יום, שעות, דקות, שניות, איזור זמן), מתכנתים נהנים
- את הפשטות ויעילות השימוש במחלקה וכל המתודות כדי לבצע את כל הפעולות הנחוצות (לדוגמא: חיבור, חיסור, השוואה, איחוד ועוד).
- הפרדת הניהול של תאריכים לכמה מחלקות רק יגרום לבלבול כשיש צורך בלמידה מהירה ופשטות השימוש.
- מחלקה אחת מפחיתה את שכפול אותם קודים אשר מבצעים את אותם הפעולות, ללא צורך בהיררכיה מסובכת.
- </para>
- <sect2 id="zend.date.theory.internals">
- <title>מידע נוסף</title>
- <para>
- <itemizedlist mark='opencircle'>
- <listitem>
- <para>
- זמן ב UNIX
- </para>
- <para>
- כל התאריכים והזמנים, נשמרים באופן פנימי בצורה אבסולוטית של הזמן הנוכחי, אשר מיוצגים על ידי זמן בשיטת ה UNIX ומביעים את ההבדל בין הזמן הנוכחי או המדובר עליו לבין הזמן של
- January 1st, 1970 00:00:00 GMT/UTC.
- זה אפשרי מאחר ו <code>Zend_Date</code> הוא לא מוגבל לעבודה רק עם זמנים ב UNIX.
- כדי לעבוד עם תאריכים גדולים במיוחד אשר יוצאים מכלל הטווח שהוא Fri, 13 Dec 1901
- 20:45:54 GMT עד Tue, 19 Jan 2038 03:14:07 GMT דורשים את תוסף ה PHP בשם BCMath.
- </para>
- </listitem>
- <listitem>
- <para>
- חלקי תאריך וזמנים ב UNIX
- </para>
- <para>
- לכן, הגדרה של תאריך של שלוש שעות יוצג בתור שלוש שעות לאחר January 1st, 1970 00:00:00 GMT/UTC שיהיה בעצם:
- 0 + 3 * 60 * 60 = 10800.
- </para>
- </listitem>
- <listitem>
- <para>
- פונקציות PHP
- </para>
- <para>
- היכן שניתן, <code>Zend_Date</code> בדרך כלל משתמשת בפונקציות של PHP כדי לשפר את הביצועים של המערכת.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect2>
- </sect1>
- <!--vim:se ts=4 sw=4 et:-->
|