. */ /** * Doctrine_Parser * * @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 */ abstract class Doctrine_Parser { /** * loadData * * Override in the parser driver * * @param string $array * @return void * @author Jonathan H. Wage */ abstract public function loadData($array); /** * dumpData * * Override in the praser driver * * @param string $array * @param string $path * @return void * @author Jonathan H. Wage */ abstract public function dumpData($array, $path = null); /** * getParser * * Get instance of the specified parser * * @param string $type * @return void * @author Jonathan H. Wage */ static public function getParser($type) { $class = 'Doctrine_Parser_'.ucfirst($type); return new $class; } /** * load * * Interface for loading and parsing data from a file * * @param string $path * @param string $type * @return void * @author Jonathan H. Wage */ static public function load($path, $type = 'xml') { $parser = self::getParser($type); return $parser->loadData($path); } /** * dump * * Interface for pulling and dumping data to a file * * @param string $array * @param string $path * @param string $type * @return void * @author Jonathan H. Wage */ static public function dump($array, $type = 'xml', $path = null) { $parser = self::getParser($type); return $parser->dumpData($array, $path); } }