コード例 #1
0
ファイル: DocblockGenerator.php プロジェクト: nevvermind/zf2
 /**
  * fromReflection() - Build a docblock generator object from a reflection object
  *
  * @param ReflectionDocblock $reflectionDocblock
  * @return DocblockGenerator
  */
 public static function fromReflection(DocBlockReflection $reflectionDocblock)
 {
     $docblock = new self();
     $docblock->setSourceContent($reflectionDocblock->getContents());
     $docblock->setSourceDirty(false);
     $docblock->setShortDescription($reflectionDocblock->getShortDescription());
     $docblock->setLongDescription($reflectionDocblock->getLongDescription());
     foreach ($reflectionDocblock->getTags() as $tag) {
         $docblock->setTag(Docblock\Tag::fromReflection($tag));
     }
     return $docblock;
 }
コード例 #2
0
 /**
  * Build a DocBlock generator object from a reflection object
  *
  * @param  DocBlockReflection $reflectionDocBlock
  * @return DocBlockGenerator
  */
 public static function fromReflection(DocBlockReflection $reflectionDocBlock)
 {
     $docBlock = new static();
     $docBlock->setSourceContent($reflectionDocBlock->getContents());
     $docBlock->setSourceDirty(false);
     $docBlock->setShortDescription($reflectionDocBlock->getShortDescription());
     $docBlock->setLongDescription($reflectionDocBlock->getLongDescription());
     foreach ($reflectionDocBlock->getTags() as $tag) {
         $docBlock->setTag(self::getTagManager()->createTagFromReflection($tag));
     }
     return $docBlock;
 }
コード例 #3
0
 /**
  * Analyze class documentation block and extract annotated methods.
  *
  * @param \Zend\Code\Reflection\DocBlockReflection $block Documentation block.
  * @return \Praxigento\Core\Reflection\Data\Method[]
  */
 public function _processClassDocBlock($block)
 {
     $result = [];
     if ($block instanceof \Zend\Code\Reflection\DocBlockReflection) {
         $docBlockLines = $block->getContents();
         $docBlockLines = explode("\n", $docBlockLines);
         foreach ($docBlockLines as $line) {
             $methodData = $this->_processClassDocLine($line);
             if ($methodData) {
                 $name = $methodData->getName();
                 $result[$name] = $methodData;
             }
         }
     }
     return $result;
 }
コード例 #4
0
 /**
  * Analyze documentation and extract annotated properties.
  *
  * @param string $type Normalized type name.
  * @param \Zend\Code\Reflection\DocBlockReflection $block Documentation block.
  */
 public function _processDocBlock($type, \Zend\Code\Reflection\DocBlockReflection $block)
 {
     if ($block) {
         $docBlockLines = $block->getContents();
         $docBlockLines = explode("\n", $docBlockLines);
         foreach ($docBlockLines as $line) {
             $propData = $this->_processDocLine($line);
             if ($propData) {
                 $propName = $propData->getName();
                 $propType = $propData->getType();
                 /* skip methods specific for DataObject */
                 if ($propName == self::SKIP_DATA || $propName == self::SKIP_ITERATOR) {
                     continue;
                 }
                 $this->_registry[$type][$propName] = $propData;
                 $this->register($propType);
             }
         }
     }
 }