Wprowadzenie do Zend Framework

     Nauka Zend Framework

    appendix

     Przewodnik po Zend Framework


  • Zend_Gdata
  • Zend_Http
  • Zend_InfoCard
  • Zend_Json
  • Zend_Layout
  • Zend_Ldap
  • Zend_Loader
  • Zend_Locale
  • Zend_Log
  • Zend_Mail
  • Zend_Markup
  • Zend_Measure
  • Zend_Memory
  • Zend_Mime
  • Zend_Navigation
  • Zend_Oauth
  • Zend_OpenId
  • Zend_Paginator
  • Zend_Pdf
  • Zend_ProgressBar
  • Zend_Queue
  • Zend_Reflection
  • Zend_Registry
  • Zend_Rest

  • Zend_Search_Lucene
  • Zend_Serializer
  • Zend_Server
  • Zend_Service
  • Zend_Session
  • Zend_Soap
  • Zend_Tag
  • Zend_Test
  • Zend_Text
  • Zend_TimeSync
  • Zend_Tool
  • Zend_Tool_Framework
  • Zend_Tool_Project
  • Zend_Translate
  • Zend_Uri
  • Zend_Validate
  • Zend_Version
  • Zend_View
  • Zend_Wildfire
  • Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 21.3% Update 2011-11-16 - Revision 24356 - Version ZF 1.11.x

    37.3. Obiekty JSON

    Kiedy kodujemy obiekt PHP jako JSON, wszystkie publiczne właściwości tego obiektu zostaną zakodowane w obiekcie JSON.

    JSON nie pozwala na referencje obiektów, więc musisz uważać abyś nie próbował kodować obiektów z rekurencyjnymi referencjami. Jeśli masz problemy z rekurencją, metody Zend_Json::encode() oraz Zend_Json_Encoder::encode() przyjmują opcjonalny drugi parametr, określający czy ma być sprawdzana rekurencja; jeśli obiekt jest kodowany drugi raz, zostanie wyrzucony wyjątek.

    Odkodowanie obiektów JSON sprawia dodatkową trudność, ponieważ obiekty Javascript prawie dokładnie odpowiadają tablicom asocjacyjnym PHP. Jedni proponują aby przekazywać identyfikator klasy, a następnie tworzyć instancję obiektu tej klasy i wypełniać ją parami klucz/wartość obiektu JSON; inni ostrzegają, że mogłoby to być istotną luką w bezpieczeństwie.

    Domyślnie Zend_Json odkoduje obiekty JSON jako tablice asocjacyjne. Jednak jeśli chcesz odebrać obiekt, możesz to określić w ten sposób:

    // Odkoduj obiekty JSON jako obiekty PHP
    $phpNative Zend_Json::decode($encodedValueZend_Json::TYPE_OBJECT);

    Wszystkie dekodowane obiekty są zwracane jako obiekty klasy StdClass z właściwościami odpowiadającymi parom klucz/wartość z obiektu JSON.

    Zalecane jest aby to programista decydował o tym w jaki sposób mają być odkodowane obiekty JSON. Jeśli powinien być utworzony obiekt konkretnego typu, może być on utworzony w kodzie aplikacji, a następnie wypełniony wartościami odkodowanymi za pomocą Zend_Json.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...