Exemple #1
0
 /**
  * setProperty()
  *
  * @param array|Zend_CodeGenerator_Php_Property $property
  * @return Zend_CodeGenerator_Php_Class
  */
 public function setProperty($property)
 {
     if (is_array($property)) {
         $property = new Zend_CodeGenerator_Php_Property($property);
         $propertyName = $property->getName();
     } elseif ($property instanceof Zend_CodeGenerator_Php_Property) {
         $propertyName = $property->getName();
     } else {
         // require_once 'Zend/CodeGenerator/Php/Exception.php';
         throw new Zend_CodeGenerator_Php_Exception('setProperty() expects either an array of property options or an instance of Zend_CodeGenerator_Php_Property');
     }
     if (isset($this->_properties[$propertyName])) {
         // require_once 'Zend/CodeGenerator/Php/Exception.php';
         throw new Zend_CodeGenerator_Php_Exception('A property by name ' . $propertyName . ' already exists in this class.');
     }
     $append = true;
     foreach ($this->_properties as &$p) {
         if ($p->getName() === $property->getName()) {
             $p->setDefaultValue($property->getDefaultValue());
             $append = false;
         }
     }
     if ($append === true) {
         $this->_properties[$propertyName] = $property;
     }
     return $this;
 }