Zend Framework  1.12
Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Zend_Json_Encoder Class Reference

Static Public Member Functions

static encode ($value, $cycleCheck=false, $options=array())
 Use the JSON encoding scheme for the value specified.
 
static encodeClass ($className, $package= '')
 Encodes the given $className into the class2 model of encoding PHP classes into JavaScript class2 classes.
 
static encodeClasses (array $classNames, $package= '')
 Encode several classes at once.
 
static encodeUnicodeString ($value)
 Encode Unicode Characters to ASCII syntax.
 

Protected Member Functions

 __construct ($cycleCheck=false, $options=array())
 Constructor.
 
 _encodeValue (&$value)
 Recursive driver which determines the type of value to be encoded and then dispatches to the appropriate method.
 
 _encodeObject (&$value)
 Encode an object to JSON by encoding each of the public properties.
 
 _wasVisited (&$value)
 Determine if an object has been serialized already.
 
 _encodeArray (&$array)
 JSON encode an array value.
 
 _encodeDatum (&$value)
 JSON encode a basic data type (string, number, boolean, null)
 
 _encodeString (&$string)
 JSON encode a string value by escaping characters as necessary.
 

Static Protected Member Functions

static _utf82utf16 ($utf8)
 Convert a string from one UTF-8 char to one UTF-16 char.
 

Protected Attributes

 $_cycleCheck
 
 $_options = array()
 
 $_visited = array()
 

Constructor & Destructor Documentation

__construct (   $cycleCheck = false,
  $options = array() 
)
protected

Constructor.

Parameters
boolean$cycleCheckWhether or not to check for recursion when encoding
array$optionsAdditional options used during encoding
Returns
void

Member Function Documentation

_encodeArray ( $array)
protected

JSON encode an array value.

Recursively encodes each value of an array and returns a JSON encoded array string.

Arrays are defined as integer-indexed arrays starting at index 0, where the last index is (count($array) -1); any deviation from that is considered an associative array, and will be encoded as such.

Parameters
array&$array
Returns
string
_encodeDatum ( $value)
protected

JSON encode a basic data type (string, number, boolean, null)

If value type is not a string, number, boolean, or null, the string 'null' is returned.

Parameters
mixed&$value
Returns
string
_encodeObject ( $value)
protected

Encode an object to JSON by encoding each of the public properties.

A special property is added to the JSON object called '__className' that contains the name of the class of $value. This is used to decode the object on the client into a specific class.

Parameters
object$value
Returns
string
Exceptions
Zend_Json_ExceptionIf recursive checks are enabled and the object has been serialized previously
_encodeString ( $string)
protected

JSON encode a string value by escaping characters as necessary.

Parameters
string&$value
Returns
string
_encodeValue ( $value)
protected

Recursive driver which determines the type of value to be encoded and then dispatches to the appropriate method.

$values are either

Parameters
mixed$valueThe value to be encoded
Returns
string Encoded value
static _utf82utf16 (   $utf8)
staticprotected

Convert a string from one UTF-8 char to one UTF-16 char.

Normally should be handled by mb_convert_encoding, but provides a slower PHP-only method for installations that lack the multibye string extension.

This method is from the Solar Framework by Paul M. Jones

string $utf8 UTF-8 character string UTF-16 character

_wasVisited ( $value)
protected

Determine if an object has been serialized already.

Parameters
mixed$value
Returns
boolean
static encode (   $value,
  $cycleCheck = false,
  $options = array() 
)
static

Use the JSON encoding scheme for the value specified.

Parameters
mixed$valueThe value to be encoded
boolean$cycleCheckWhether or not to check for possible object recursion when encoding
array$optionsAdditional options used during encoding
Returns
string The encoded value
static encodeClass (   $className,
  $package = '' 
)
static

Encodes the given $className into the class2 model of encoding PHP classes into JavaScript class2 classes.

NOTE: Currently only public methods and variables are proxied onto the client machine

Parameters
string$classNameThe name of the class, the class must be instantiable using a null constructor
string$packageOptional package name appended to JavaScript proxy class name
Returns
string The class2 (JavaScript) encoding of the class
Exceptions
Zend_Json_Exception
static encodeClasses ( array  $classNames,
  $package = '' 
)
static

Encode several classes at once.

Returns JSON encoded classes, using encodeClass().

Parameters
array$classNames
string$package
Returns
string
static encodeUnicodeString (   $value)
static

Encode Unicode Characters to ASCII syntax.

This algorithm was originally developed for the Solar Framework by Paul M. Jones

http://svn.solarphp.com/core/trunk/Solar/Json.php string $value string

Iterate over every character in the string, escaping with a slash or encoding to UTF-8 where necessary

Member Data Documentation

$_cycleCheck
protected
$_options = array()
protected
$_visited = array()
protected