/** * 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; }
/** * 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; }
/** * 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; }
/** * 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); } } } }