Введение в Zend Framework

 Learning Zend Framework

appendix

 Zend Framework Reference


  • 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
  • Ttranslation 27.4% Update 2010-11-28 - Revision 23238 - Version ZF 1.11.x

    39.3. Объекты JSON

    Когда объекты PHP закодировываются в JSON, все публичные свойства этого объекта будут закодированы в объект JSON.

    JSON не поддерживает ссылки на объекты, поэтому следите за тем, чтобы не закодировывать объекты с рекурсивными ссылками. Если вы имеете дело с рекурсией, то в вызове методов Zend_Json::encode() и Zend_Json_Encoder::encode() можно установить второй необязательный параметр для проверки на рекурсию; если один и тот же объект подвергается сериализации дважды, то будет сгенерировано исключение.

    Декодирование объектов JSON представляет собой дополнительную сложность, так как объекты Javascript скорее соответствуют ассоциативным массивам в PHP. Одни советуют передавать идентификатор класса, экземпляр этого класса должен быть создан и заполнен парами ключ/значение объекта JSON; другие считают, что это может представлять собой серьезную угрозу безопасности.

    По умолчанию Zend_Json будет декодировать объекты JSON как ассоциативные массивы. Но если вы хотите получить объект, то можете указать это:

    <?php <?php
    // Декодировать объект как объект
    $phpNative Zend_Json::decode($encodedValueZend_Json::TYPE_OBJECT);
    ?>

    Любые объекты, декодированные таким образом, возвращаются как объекты StdClass со свойствами, соответствующими парам ключ/значение в нотации JSON.

    Рекомендацией Zend Framework является то, что разрабочик должен сам принимать решение, как декодировать объект JSON. Если должен быть создан объект определенного типа, он может быть создан в коде разработчика и заполнен значениями, декодированными с помощью Zend_Json.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...