Exemplo n.º 1
0
 /**
  * fromReflection()
  *
  * @param Zend_Reflection_Docblock_Tag $reflectionTag
  * @return Zend_CodeGenerator_Php_Docblock_Tag
  */
 public static function fromReflection(Zend_Reflection_Docblock_Tag $reflectionTag)
 {
     $tagName = $reflectionTag->getName();
     $codeGenDocblockTag = self::factory($tagName);
     // transport any properties via accessors and mutators from reflection to codegen object
     $reflectionClass = new ReflectionClass($reflectionTag);
     foreach ($reflectionClass->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
         if (substr($method->getName(), 0, 3) == 'get') {
             $propertyName = substr($method->getName(), 3);
             if (method_exists($codeGenDocblockTag, 'set' . $propertyName)) {
                 $codeGenDocblockTag->{'set' . $propertyName}($reflectionTag->{'get' . $propertyName}());
             }
         }
     }
     return $codeGenDocblockTag;
 }