Exemple #1
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);
         }
     }
 }
 /**
  * @group ZF-7361
  */
 public function testHasProperty()
 {
     $property = new Zend_CodeGenerator_Php_Property();
     $property->setName('propertyOne');
     $codeGenClass = new Zend_CodeGenerator_Php_Class();
     $codeGenClass->setProperty($property);
     $this->assertTrue($codeGenClass->hasProperty('propertyOne'));
 }
Exemple #3
0
    /**
     * @group ZF-11513
     */
    public function testAllowsClassConstantToHaveSameNameAsClassProperty()
    {
        $const = new Zend_CodeGenerator_Php_Property();
        $const->setName('name')->setDefaultValue('constant')->setConst(true);
        $property = new Zend_CodeGenerator_Php_Property();
        $property->setName('name')->setDefaultValue('property');
        $codeGenClass = new Zend_CodeGenerator_Php_Class();
        $codeGenClass->setName('My_Class')->setProperties(array($const, $property));
        $expected = <<<CODE
class My_Class
{

    const name = 'constant';

    public \$name = 'property';


}

CODE;
        $this->assertEquals($expected, $codeGenClass->generate());
    }