public function testTagGettersAndSetters()
    {
        $this->_docblock->setTag(array('name' => 'blah'));
        $this->_docblock->setTag(new Zend_CodeGenerator_Php_Docblock_Tag_Param(array('datatype' => 'string')));
        $this->_docblock->setTag(new Zend_CodeGenerator_Php_Docblock_Tag_Return(array('datatype' => 'int')));
        $this->assertEquals(3, count($this->_docblock->getTags()));
        $target = <<<EOS
/**
 * @blah
 * @param string
 * @return int
 */

EOS;
        $this->assertEquals($target, $this->_docblock->generate());
    }
Exemple #2
0
 /**
  * @see models_ClassGenerator_Defaults_Interface::createAttributesSqlConstants
  */
 public function createAttributesSqlConstants()
 {
     //Table
     $constTable = new Zend_CodeGenerator_Php_Property();
     $constTable->setConst(true);
     $constTable->setName($this->_provideTableConstant());
     $constTable->setDefaultValue($this->getPersistenceInformation()->getTableName());
     $tableDocblock = new Zend_CodeGenerator_Php_Docblock();
     $tableDocblock->setLongDescription('The SQL table to persist all properties to.');
     $tableTagType = new Zend_CodeGenerator_Php_Docblock_Tag();
     $tableTagType->setName('var');
     $tableTagType->setDescription(Zend_CodeGenerator_Php_Property_DefaultValue::TYPE_STRING);
     $tableDocblock->setTag($tableTagType);
     $constTable->setDocblock($tableDocblock);
     //Einfügen!
     $this->getClass()->setProperty($constTable);
     //Columns
     $columnConstants = $this->_provideSqlColumnConstants();
     if (!empty($columnConstants)) {
         foreach ($columnConstants as $columnConstant => $attribute) {
             /* @var $attribute Zend_CodeGenerator_Php_Property */
             $constCol = new Zend_CodeGenerator_Php_Property();
             $constCol->setConst(true);
             $constCol->setName($columnConstant);
             $constCol->setDefaultValue(Model_ClassGenerator_PersistenceInformation::toColumnName($attribute));
             $colDocblock = new Zend_CodeGenerator_Php_Docblock();
             $colDocblock->setLongDescription('The SQL table colum to persist the attribute $' . $attribute->getName() . ' to.');
             $colTagType = new Zend_CodeGenerator_Php_Docblock_Tag();
             $colTagType->setName('var');
             $colTagType->setDescription(Zend_CodeGenerator_Php_Property_DefaultValue::TYPE_STRING);
             $colDocblock->setTag($colTagType);
             $constCol->setDocblock($colDocblock);
             //Einfügen!
             $this->getClass()->setProperty($constCol);
         }
     }
 }