/** * Generates the class definition for plugin class * * @param array $definition Definition array defining columns, relations and options * for the model * @return void */ public function generateClass(array $definition = array()) { $definition['className'] = $this->_options['className']; $definition['toString'] = isset($this->_options['toString']) ? $this->_options['toString'] : false; if (isset($this->_options['listeners'])) { $definition['listeners'] = $this->_options['listeners']; } $builder = new Doctrine_Import_Builder(); $builderOptions = isset($this->_options['builderOptions']) ? (array) $this->_options['builderOptions'] : array(); $builder->setOptions($builderOptions); if ($this->_options['generateFiles']) { if (isset($this->_options['generatePath']) && $this->_options['generatePath']) { $builder->setTargetPath($this->_options['generatePath']); $builder->buildRecord($definition); } else { throw new Doctrine_Record_Exception('If you wish to generate files then you must specify the path to generate the files in.'); } } else { $def = $builder->buildDefinition($definition); eval($def); } }
/** * generates the class definition for plugin class * * @param array $columns the plugin class columns, keys representing the column names * and values as column definitions * * @param array $relations the bound relations of the plugin class * * @param array $options plugin class options, keys representing the option names * and values as option values * @return void */ public function generateClass(array $columns = array(), array $relations = array(), array $options = array()) { $options['className'] = $this->_options['className']; $builder = new Doctrine_Import_Builder(); if ($this->_options['generateFiles']) { if (isset($this->_options['generatePath']) && $this->_options['generatePath']) { $builder->setTargetPath($this->_options['generatePath']); $builder->buildRecord($options, $columns, $relations); } else { throw new Doctrine_Plugin_Exception('If you wish to generate files then you must specify the path to generate the files in.'); } } else { $def = $builder->buildDefinition($options, $columns, $relations); eval($def); } }