本文整理汇总了PHP中Zend_Reflection_Class::getDocblock方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Reflection_Class::getDocblock方法的具体用法?PHP Zend_Reflection_Class::getDocblock怎么用?PHP Zend_Reflection_Class::getDocblock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Reflection_Class
的用法示例。
在下文中一共展示了Zend_Reflection_Class::getDocblock方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fromReflection
/**
* fromReflection() - build a Code Generation PHP Object from a Class Reflection
*
* @param Zend_Reflection_Class $reflectionClass
* @return dmZendCodeGeneratorPhpClass
*/
public static function fromReflection(Zend_Reflection_Class $reflectionClass)
{
$class = new self();
$class->setSourceContent($class->getSourceContent());
$class->setSourceDirty(false);
if ($reflectionClass->getDocComment() != '') {
$class->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionClass->getDocblock()));
}
$class->setAbstract($reflectionClass->isAbstract());
$class->setName($reflectionClass->getName());
if ($parentClass = $reflectionClass->getParentClass()) {
$class->setExtendedClass($parentClass->getName());
$interfaces = array_diff($parentClass->getInterfaces(), $reflectionClass->getInterfaces());
} else {
$interfaces = $reflectionClass->getInterfaces();
}
$class->setImplementedInterfaces($interfaces);
$properties = array();
foreach ($reflectionClass->getProperties() as $reflectionProperty) {
if ($reflectionProperty->getDeclaringClass()->getName() == $class->getName()) {
$properties[] = Zend_CodeGenerator_Php_Property::fromReflection($reflectionProperty);
}
}
$class->setProperties($properties);
$methods = array();
foreach ($reflectionClass->getMethods(-1, 'dmZendReflectionMethod') as $reflectionMethod) {
if ($reflectionMethod->getDeclaringClass()->getName() == $class->getName()) {
$methods[] = dmZendCodeGeneratorPhpMethod::fromReflection($reflectionMethod);
}
}
$class->setMethods($methods);
return $class;
}
示例2: testDocblockLongDescription
public function testDocblockLongDescription()
{
$classReflection = new Zend_Reflection_Class('Zend_Reflection_TestSampleClass5');
$expectedOutput = <<<EOS
This is a long description for
the docblock of this class, it
should be longer than 3 lines.
It indeed is longer than 3 lines
now.
EOS;
$this->assertEquals($classReflection->getDocblock()->getLongDescription(), $expectedOutput);
}
示例3: _getClassUrl
/**
* Returns the URL for the given class' API page
*
* @param mixed $class
* @access protected
* @return string
*/
protected function _getClassUrl($class)
{
$reflection = new Zend_Reflection_Class($class);
$docblock = $reflection->getDocblock();
$url = $this->_zendApiUrl;
if ($docblock->hasTag('package')) {
$url .= $docblock->getTag('package')->getDescription();
}
if ($docblock->hasTag('subpackage')) {
$url .= '/' . $docblock->getTag('subpackage')->getDescription();
}
$url .= '/' . $class . '.html';
return $url;
}
示例4: testToString
public function testToString()
{
$classReflection = new Zend_Reflection_Class('Zend_Reflection_TestSampleClass5');
$classDocblock = $classReflection->getDocblock();
$expectedString = 'Docblock [ /* Docblock */ ] {' . PHP_EOL . PHP_EOL . ' - Tags [1] {' . PHP_EOL . ' Docblock Tag [ * @author ]' . PHP_EOL . ' }' . PHP_EOL . '}' . PHP_EOL;
$this->assertEquals($expectedString, (string) $classDocblock);
}
示例5: testTagDescriptionIsReturned
public function testTagDescriptionIsReturned()
{
$classReflection = new Zend_Reflection_Class('Zend_Reflection_TestSampleClass5');
$authorTag = $classReflection->getDocblock()->getTag('author');
$this->assertEquals($authorTag->getDescription(), 'Ralph Schindler <ralph.schindler@zend.com>');
}
示例6: getDocblock
static function getDocblock($class, $type = 'class')
{
$ret = array();
if ($type == 'method') {
$r = $class;
} else {
$r = new Zend_Reflection_Class($class);
}
if ($r->getDocComment()) {
$d = $r->getDocblock();
if ($d) {
$d = $d->getTags();
}
if ($d) {
foreach ($d as $el) {
$ret[$el->getName()] = $el->getDescription();
}
}
}
$pk = method_exists($r, 'getParentClass') ? $r->getParentClass() : false;
if ($pk) {
$inner = self::getDocblock($pk->name);
if ($inner) {
$ret = array_merge($inner, $ret);
}
}
return $ret;
}