(^248) CHAPTER 16 ■ ADVANCED ZEND FRAMEWORK
Password:
To access your login form, visit [http://example.com/index/login.](http://example.com/index/login.)
Using JSON with PHP
The Zend_Json class provides a simple encoder/decoder mechanism to convert variables
between JSON and PHP. This component is fairly self-explanatory and is demonstrated in the
context of a JSON action in Listing 16-12.Listing 16-12. Using Zend_Jsonpublic function jsonAction() {
$this->getHelper('ViewRenderer')->setNoRender();//Simulate a JSON input value
$jsonInput = '[0,1,2,3]';//Decode JSON to a PHP array
$phpArray = Zend_Json::decode($jsonInput);//Do a PHP operation
shuffle($phpArray);//Encode the data for output
$jsonOutput = Zend_Json::encode($phpArray);//Get the response object and set content type HTTP header
$response = $this->getResponse();
$response->setHeader('Content-Type', 'application/json');//Make sure the JSON is the only output data
$response->clearBody();
//Set the response body to the JSON code
$response->setBody($jsonOutput);
}Normal operation of a JSON decode in PHP is to turn JSON objects into associative arrays.
Since this is not always desirable, the Zend Framework provides an alternative decode syntax;$phpObject = Zend_Json::decode('{"x":1}', Zend_Json::TYPE_OBJECT);McArthur_819-9C16.fm Page 248 Friday, February 29, 2008 5:07 PM
