. */ /** * Doctrine_Parser_Json * * @package Doctrine * @subpackage Parser * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link www.phpdoctrine.com * @since 1.0 * @version $Revision: 1080 $ * @author Jonathan H. Wage */ class Doctrine_Parser_Json extends Doctrine_Parser { /** * dumpData * * Dump an array of data to a specified path or return * * @param string $array * @param string $path * @return void * @author Jonathan H. Wage */ public function dumpData($array, $path = null) { $data = json_encode($array); if ($path) { return file_put_contents($path, $data); } else { return $data; } } /** * loadData * * Load and unserialize data from a file or from passed data * * @param string $path * @return void * @author Jonathan H. Wage */ public function loadData($path) { $contents = $this->getContents($path); $json = json_decode($contents); return $this->prepareData($json); } public function prepareData($json) { $array = array(); foreach ($json as $key => $value) { if (is_object($value) || is_array($value)) { $array[$key] = $this->prepareData($value); } else { $array[$key] = $value; } } return $array; } }