| 1234567891011121314151617181920212223242526272829303132333435 |
- <sect1 id="zend.json.objects">
- <title>كائنات JSON</title>
- <para>
- عند القيام بعملية ترميز "encoding" لكائنات فى لغة PHP لتصبح فى صيغة JSON ,
- كل الـ public properties الخاصة بهذا الكائن سيتم ترميزها لتصبح كائنات JSON.
- </para>
- <para>
- عملية فك ترميز "decoding" كائنات JSON تواجه بعض التحديات ,
- لكن حيث أن كائنات JavaScript تتشابه إلى حد ما مع الـ associative arrays الموجودة
- فى لغة PHP , فتم أقتراح أن يتم تمرير معرف أسم class , ثم يتم إنشاء نسخة "instance" من هذا
- الـ class و يتم تسكينه بأزواج من الـ key/value التى تم إستنباطها من كائن الـ JSON ,
- إلا أن البعض يشعرون بأن هذا من الممكن أن يتسبب فى مخاطر امنية .
- </para>
- <para>
- الإعدادات الأساسية لـ <code>Zend_Json</code> ستقوم بفك ترميز كائنات JSON
- و تحويلها إلى associative arrays , و لكن إن كنت تود أن يتم إرجاع كائن ,
- فيمكنك أن تحدد التالى :
- </para>
- <programlisting role="php"><![CDATA[<?php
- // Decode objects as objects
- $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
- ?>]]></programlisting>
- <para>
- أى كائنات سيتم فك ترميزها , سيتم إرجاعها على أنها كائنات من <code>StdClass</code>
- مع properties تتطابق مع قيم أزواج الـ key/value المستخلصة من صيغة الـ JSON.
- </para>
- <para>
- نصيحة إطار عمل Zend هى أن يقوم كل مبرمج بتحديد كيف سيقوم بفك ترميز كائنات JSON ,
- إن كان يجب أن يتم إنشاء كائن JSON من نوع محدد, فيمكن أن يتم إنشائه من خلال أكواد المبرمج
- الخاصة ثم يتم تسكينه بالقيم التى تم فك ترميزها بإستخدام <code>Zend_Json</code>.
- </para>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|