. */ /** * Doctrine_Parser_Yml * * @package Doctrine * @subpackage Parser * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link www.phpdoctrine.org * @since 1.0 * @version $Revision: 1080 $ * @author Jonathan H. Wage , Thomas Courbon */ class Doctrine_Parser_Yml extends Doctrine_Parser { /** * dumpData * * Dump an array of data to a specified path or return * * @throws Doctrine_Parser_Exception dumping error * @param string $array Array of data to dump to yaml * @param string $path Path to dump the yaml to * @return string $yaml * @return void */ public function dumpData($array, $path = null) { try { $data = Doctrine_Parser_YamlSf::dump($array); return $this->doDump($data, $path); } catch(InvalidArgumentException $e) { // rethrow the exceptions $rethrowed_exception = new Doctrine_Parser_Exception($e->getMessage(), $e->getCode()); throw $rethrowed_exception; } } /** * loadData * * Load and parse data from a yml file * * @throws Doctrine_Parser_Exception parsing error * @param string $path Path to load yaml data from * @return array $array Array of parsed yaml data */ public function loadData($path) { try { /* * I still use the doLoad method even if sfYaml can load yml from a file * since this way Doctrine can handle file on it own. */ $contents = $this->doLoad($path); $array = Doctrine_Parser_YamlSf::load($contents); return $array; } catch(InvalidArgumentException $e) { // rethrow the exceptions $rethrowed_exception = new Doctrine_Parser_Exception($e->getMessage(), $e->getCode()); throw $rethrowed_exception; } } }