示例#1
0
 /**
  * fromReflection()
  *
  * @param \Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagReturn
  * @return \Zend\Code\Generator\DocBlock\Tag\LicenseTag
  */
 public static function fromReflection(\Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagLicense)
 {
     $returnTag = new self();
     $returnTag->setName('license');
     $returnTag->setUrl($reflectionTagLicense->getUrl());
     $returnTag->setDescription($reflectionTagLicense->getDescription());
     return $returnTag;
 }
示例#2
0
 /**
  * fromReflection()
  *
  * @param \Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagReturn
  * @return \Zend\Code\Generator\DocBlock\Tag\ReturnTag
  */
 public static function fromReflection(\Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagReturn)
 {
     $returnTag = new self();
     $returnTag->setName('return');
     $returnTag->setDatatype($reflectionTagReturn->getType());
     // @todo rename
     $returnTag->setDescription($reflectionTagReturn->getDescription());
     return $returnTag;
 }
示例#3
0
 /**
  * fromReflection()
  *
  * @param \Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagParam
  * @return \Zend\Code\Generator\DocBlock\Tag\ParamTag
  */
 public static function fromReflection(\Zend\Code\Reflection\ReflectionDocblockTag $reflectionTagParam)
 {
     $paramTag = new self();
     $paramTag->setName('param');
     $paramTag->setDatatype($reflectionTagParam->getType());
     // @todo rename
     $paramTag->setParamName($reflectionTagParam->getVariableName());
     $paramTag->setDescription($reflectionTagParam->getDescription());
     return $paramTag;
 }
示例#4
0
文件: Tag.php 项目: bradley-holt/zf2
 /**
  * fromReflection()
  *
  * @param ReflectionDocblockTag $reflectionTag
  * @return Tag
  */
 public static function fromReflection(ReflectionDocblockTag $reflectionTag)
 {
     $tagName = $reflectionTag->getName();
     $codeGenDocblockTag = new self();
     $codeGenDocblockTag->setName($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;
 }
示例#5
0
 /**
  * Get return type tag
  *
  * @return \Zend\Code\Reflection\DocBlock\Tag\Return
  */
 public function getReturn()
 {
     $docblock = $this->getDocblock();
     if (!$docblock->hasTag('return')) {
         throw new Exception\InvalidArgumentException('Function does not specify an @return annotation tag; cannot determine return type');
     }
     $tag = $docblock->getTag('return');
     $return = ReflectionDocblockTag::factory('@return ' . $tag->getDescription());
     return $return;
 }