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()); }
/** * @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); } } }