Zend Framework  3.0
Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Encoder Class Reference

Encode PHP constructs to JSON. More...

Static Public Member Functions

static encode ($value, $cycleCheck=false, array $options=[])
 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, array $options=[])
 
 encodeValue (&$value)
 Encode a value to JSON.
 
 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.
 
 encodeAssociativeArray ($array)
 Encode an associative array to JSON.
 
 encodeDatum ($value)
 JSON encode a scalar 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 = []
 
 $visited = []
 

Detailed Description

Encode PHP constructs to JSON.

Constructor & Destructor Documentation

__construct (   $cycleCheck = false,
array  $options = [] 
)
protected
Parameters
bool$cycleCheckWhether or not to check for recursion when encoding.
array$optionsAdditional options used during encoding.

Member Function Documentation

static encode (   $value,
  $cycleCheck = false,
array  $options = [] 
)
static

Use the JSON encoding scheme for the value specified.

Parameters
mixed$valueThe value to be encoded.
bool$cycleCheckWhether or not to check for possible object recursion when encoding.
array$optionsAdditional options used during encoding.
Returns
string The encoded value.
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 passed to encodeAssociativeArray().

Parameters
$arrayarray
Returns
string
encodeAssociativeArray (   $array)
protected

Encode an associative array to JSON.

JSON does not have a concept of associative arrays; as such, we encode them to objects.

Parameters
array$arrayArray to encode.
Returns
string
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
$classNamestring The name of the class, the class must be instantiable using a null constructor.
$packagestring Optional package name appended to JavaScript proxy class name.
Returns
string The class2 (JavaScript) encoding of the class.
Exceptions
InvalidArgumentException
static encodeClasses ( array  $classNames,
  $package = '' 
)
static

Encode several classes at once.

Returns JSON encoded classes, using encodeClass().

Parameters
string[]$classNames
string$package
Returns
string
encodeDatum (   $value)
protected

JSON encode a scalar 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 classname of $value; this can be used by consumers of the resulting JSON to cast to the specific class.

Parameters
$valueobject
Returns
string
Exceptions
RecursionExceptionIf 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$string
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.

https://github.com/solarphp/core/blob/master/Solar/Json.php string $value string

encodeValue ( $value)
protected

Encode a value to JSON.

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

$values are either

Parameters
$valuemixed The 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 multibyte 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
bool

Member Data Documentation

$cycleCheck
protected
$options = []
protected
$visited = []
protected