Exemple #1
0
 /**
  * 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);
     }
 }
Exemple #2
0
 /**
  * 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);
     }
 }