[ZF-10089] Zend_Log
[zend.git] / documentation / manual / pl / module_specs / Zend_Json-Objects.xml
blobf7d5a81e2e49389483c23b98093b71ce91a9d756
1 <sect1 id="zend.json.objects">
2     <title>Obiekty JSON</title>
3     <para>
4         Kiedy kodujemy obiekt PHP jako JSON, wszystkie publiczne właściwości
5         tego obiektu zostaną zakodowane w obiekcie JSON.
6     </para>
7     <para>
8         JSON nie pozwala na referencje obiektów, więc musisz uważać abyś
9         nie próbował kodować obiektów z rekurencyjnymi referencjami. Jeśli masz
10         problemy z rekurencją, metody <code>Zend_Json::encode()</code> oraz
11         <code>Zend_Json_Encoder::encode()</code> przyjmują opcjonalny drugi
12         parametr, określający czy ma być sprawdzana rekurencja; jeśli obiekt
13         jest kodowany drugi raz, zostanie wyrzucony wyjątek.
14     </para>
15     <para>
16         Odkodowanie obiektów JSON sprawia dodatkową trudność, ponieważ obiekty
17         Javascript prawie dokładnie odpowiadają tablicom asocjacyjnym PHP.
18         Jedni proponują aby przekazywać identyfikator klasy, a następnie
19         tworzyć instancję obiektu tej klasy i wypełniać ją parami klucz/wartość
20         obiektu JSON; inni ostrzegają, że mogłoby to być istotną luką w bezpieczeństwie.
21     </para>
22     <para>
23         Domyślnie <code>Zend_Json</code> odkoduje obiekty JSON jako tablice
24         asocjacyjne. Jednak jeśli chcesz odebrać obiekt, możesz to określić
25         w ten sposób:
26     </para>
27     <programlisting role="php"><![CDATA[
28 // Odkoduj obiekty JSON jako obiekty PHP
29 $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT);
30 ]]>
31     </programlisting>
32     <para>
33         Wszystkie dekodowane obiekty są zwracane jako obiekty klasy
34         <code>StdClass</code> z właściwościami odpowiadającymi parom
35         klucz/wartość z obiektu JSON.
36     </para>
37     <para>
38         Zalecane jest aby to programista decydował o tym w jaki sposób mają być
39         odkodowane obiekty JSON. Jeśli powinien być utworzony obiekt konkretnego
40         typu, może być on utworzony w kodzie aplikacji, a następnie wypełniony
41         wartościami odkodowanymi za pomocą <code>Zend_Json</code>.
42     </para>
43 </sect1>
44 <!--
45 vim:se ts=4 sw=4 et:
46 -->