Zend_Json-Objects.xml 2.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. <sect1 id="zend.json.objects">
  2. <title>אובייקטי JSON</title>
  3. <para>
  4. כשמקודדים אובייקטים של PHP ב JSON, כל הערכים המוגדרים ל public לאותו אובייקט יקודדו באובייקט ה JSON.
  5. </para>
  6. <para>
  7. JSON לא מאפשר שיוך אובייקטים, לכן לא מומלץ לקודד אובייקטים אשר משוייכים או מיוחסים לאובייקטים אחרים.
  8. אם ישנה בעיה עם רקורסיה באובייקטים, <code>Zend_Json::encode()</code> ו <code>Zend_Json_Encoder::encode()</code> מאפשרים הזנה של פרמטר שני אופציונלי לבדיקת רקורסיה;
  9. אם התבצע קידוד לאובייקט פעמיים, חריג יזרק אשר יודיע על כך.
  10. </para>
  11. <para>
  12. פענוח אובייקטים אשר קודדו ב JSON מציב קושי נוסף, מאחר ואובייקטים ב JS דומים למערכים אסוציאטיבים ב PHP.
  13. יש הממליצים שמזהה יחודי לכל מחלקה צריך להכנס לאובייקט כדי ש JSON יוכל לפענח את זה טוב יותר.
  14. אחרים מרגישים שזה יכול להוות כסכנה לכל המערכת.
  15. </para>
  16. <para>
  17. כברירת מחדל, <code>Zend_Json</code> יפענח אובייקטים של JSON בתור מערכים אסוציאטיבים. למרות, שניתן להעביר פרמטר שני אופציונלי אשר יחזיר אובייקט במקום מערך, לדוגמא:
  18. </para>
  19. <programlisting role="php"><![CDATA[
  20. // Decode JSON objects as PHP objects
  21. $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
  22. ]]>
  23. </programlisting>
  24. <para>
  25. אובייקטים אשר יפוענחו יוחזרו כאובייקטים של <code>StdClass</code> עם ערכים המשוייכים ל
  26. key/value באובייקט של JSON.
  27. </para>
  28. <para>
  29. ההמלצה של Zend Framework היא שכל מתכנת יחליט בעצמו כיצד לפענח אובייקטים של JSON.
  30. </para>
  31. </sect1>
  32. <!--
  33. vim:se ts=4 sw=4 et:
  34. -->