本文整理汇总了PHP中Zend_CodeGenerator_Php_Docblock类的典型用法代码示例。如果您正苦于以下问题:PHP Zend_CodeGenerator_Php_Docblock类的具体用法?PHP Zend_CodeGenerator_Php_Docblock怎么用?PHP Zend_CodeGenerator_Php_Docblock使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Zend_CodeGenerator_Php_Docblock类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fromReflection
/**
* fromReflection()
*
* @param Zend_Reflection_Method $reflectionMethod
* @return Zend_CodeGenerator_Php_Method
*/
public static function fromReflection(Zend_Reflection_Method $reflectionMethod)
{
$method = new self();
$method->setSourceContent($reflectionMethod->getContents(false));
$method->setSourceDirty(false);
if ($reflectionMethod->getDocComment() != '') {
$method->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionMethod->getDocblock()));
}
$method->setFinal($reflectionMethod->isFinal());
if ($reflectionMethod->isPrivate()) {
$method->setVisibility(self::VISIBILITY_PRIVATE);
} elseif ($reflectionMethod->isProtected()) {
$method->setVisibility(self::VISIBILITY_PROTECTED);
} else {
$method->setVisibility(self::VISIBILITY_PUBLIC);
}
$method->setStatic($reflectionMethod->isStatic());
$method->setName($reflectionMethod->getName());
foreach ($reflectionMethod->getParameters() as $reflectionParameter) {
$method->setParameter(Zend_CodeGenerator_Php_Parameter::fromReflection($reflectionParameter));
}
$method->setBody($reflectionMethod->getBody());
return $method;
}
示例2: fromReflection
public static function fromReflection(Zend_Reflection_Method $reflectionMethod)
{
$method = new self();
$method->setSourceContent($reflectionMethod->getContents(false));
$method->setSourceDirty(false);
if ($reflectionMethod->getDocComment() != '') {
$method->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionMethod->getDocblock()));
}
$method->setFinal($reflectionMethod->isFinal());
if ($reflectionMethod->isPrivate()) {
$method->setVisibility(self::VISIBILITY_PRIVATE);
} elseif ($reflectionMethod->isProtected()) {
$method->setVisibility(self::VISIBILITY_PROTECTED);
} else {
$method->setVisibility(self::VISIBILITY_PUBLIC);
}
$method->setStatic($reflectionMethod->isStatic());
$method->setName($reflectionMethod->getName());
foreach ($reflectionMethod->getParameters() as $reflectionParameter) {
$method->setParameter(Zend_CodeGenerator_Php_Parameter::fromReflection($reflectionParameter));
}
$body = $reflectionMethod->getBody();
$body2 = str_replace("\n\n", "\n", $body);
$body2 = preg_replace("|^\n\\s{4}|muU", "\n", $body2);
$body2 = preg_replace("|^\\s{4}|muU", "", $body2);
// $body2 = str_replace(' ', '.', $body2);
//dmDebug::kill($body, "\n".$body2);
$method->setBody($body2);
return $method;
}
示例3: fromReflection
/**
* fromReflection()
*
* @param Zend_Reflection_Property $reflectionProperty
* @return Zend_CodeGenerator_Php_Property
*/
public static function fromReflection(Zend_Reflection_Property $reflectionProperty)
{
$property = new self();
$property->setName($reflectionProperty->getName());
$allDefaultProperties = $reflectionProperty->getDeclaringClass()->getDefaultProperties();
$property->setDefaultValue($allDefaultProperties[$reflectionProperty->getName()]);
if ($reflectionProperty->getDocComment() != '') {
$property->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($reflectionProperty->getDocComment()));
}
if ($reflectionProperty->isStatic()) {
$property->setStatic(true);
}
if ($reflectionProperty->isPrivate()) {
$property->setVisibility(self::VISIBILITY_PRIVATE);
} elseif ($reflectionProperty->isProtected()) {
$property->setVisibility(self::VISIBILITY_PROTECTED);
} else {
$property->setVisibility(self::VISIBILITY_PUBLIC);
}
$property->setSourceDirty(false);
return $property;
}
示例4: 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;
}
示例5: testTagGettersAndSetters
public function testTagGettersAndSetters()
{
$this->_docblock->setTag(array('name' => 'blah'));
$this->_docblock->setTag(new Zend_CodeGenerator_Php_Docblock_Tag_Param(array('datatype' => 'string')));
$this->_docblock->setTag(new Zend_CodeGenerator_Php_Docblock_Tag_Return(array('datatype' => 'int')));
$this->assertEquals(3, count($this->_docblock->getTags()));
$target = <<<EOS
/**
* @blah
* @param string
* @return int
*/
EOS;
$this->assertEquals($target, $this->_docblock->generate());
}
示例6: fromReflection
/**
* fromReflection()
*
* @param Zend_Reflection_File $reflectionFile
* @return Zend_CodeGenerator_Php_File
*/
public static function fromReflection(Zend_Reflection_File $reflectionFile)
{
$file = new self();
$file->setSourceContent($reflectionFile->getContents());
$file->setSourceDirty(false);
$body = $reflectionFile->getContents();
// @todo this whole area needs to be reworked with respect to how body lines are processed
foreach ($reflectionFile->getClasses() as $class) {
$file->setClass(Zend_CodeGenerator_Php_Class::fromReflection($class));
$classStartLine = $class->getStartLine(true);
$classEndLine = $class->getEndLine();
$bodyLines = explode("\n", $body);
$bodyReturn = array();
for ($lineNum = 1; $lineNum <= count($bodyLines); $lineNum++) {
if ($lineNum == $classStartLine) {
$bodyReturn[] = str_replace('?', $class->getName(), self::$_markerClass);
//'/* Zend_CodeGenerator_Php_File-ClassMarker: {' . $class->getName() . '} */';
$lineNum = $classEndLine;
} else {
$bodyReturn[] = $bodyLines[$lineNum - 1];
// adjust for index -> line conversion
}
}
$body = implode("\n", $bodyReturn);
unset($bodyLines, $bodyReturn, $classStartLine, $classEndLine);
}
if ($reflectionFile->getDocComment() != '') {
$docblock = $reflectionFile->getDocblock();
$file->setDocblock(Zend_CodeGenerator_Php_Docblock::fromReflection($docblock));
$bodyLines = explode("\n", $body);
$bodyReturn = array();
for ($lineNum = 1; $lineNum <= count($bodyLines); $lineNum++) {
if ($lineNum == $docblock->getStartLine()) {
$bodyReturn[] = str_replace('?', $class->getName(), self::$_markerDocblock);
//'/* Zend_CodeGenerator_Php_File-ClassMarker: {' . $class->getName() . '} */';
$lineNum = $docblock->getEndLine();
} else {
$bodyReturn[] = $bodyLines[$lineNum - 1];
// adjust for index -> line conversion
}
}
$body = implode("\n", $bodyReturn);
unset($bodyLines, $bodyReturn, $classStartLine, $classEndLine);
}
$file->setBody($body);
return $file;
}
示例7: createAttributesSqlConstants
/**
* @see models_ClassGenerator_Defaults_Interface::createAttributesSqlConstants
*/
public function createAttributesSqlConstants()
{
//Table
$constTable = new Zend_CodeGenerator_Php_Property();
$constTable->setConst(true);
$constTable->setName($this->_provideTableConstant());
$constTable->setDefaultValue($this->getPersistenceInformation()->getTableName());
$tableDocblock = new Zend_CodeGenerator_Php_Docblock();
$tableDocblock->setLongDescription('The SQL table to persist all properties to.');
$tableTagType = new Zend_CodeGenerator_Php_Docblock_Tag();
$tableTagType->setName('var');
$tableTagType->setDescription(Zend_CodeGenerator_Php_Property_DefaultValue::TYPE_STRING);
$tableDocblock->setTag($tableTagType);
$constTable->setDocblock($tableDocblock);
//Einfügen!
$this->getClass()->setProperty($constTable);
//Columns
$columnConstants = $this->_provideSqlColumnConstants();
if (!empty($columnConstants)) {
foreach ($columnConstants as $columnConstant => $attribute) {
/* @var $attribute Zend_CodeGenerator_Php_Property */
$constCol = new Zend_CodeGenerator_Php_Property();
$constCol->setConst(true);
$constCol->setName($columnConstant);
$constCol->setDefaultValue(Model_ClassGenerator_PersistenceInformation::toColumnName($attribute));
$colDocblock = new Zend_CodeGenerator_Php_Docblock();
$colDocblock->setLongDescription('The SQL table colum to persist the attribute $' . $attribute->getName() . ' to.');
$colTagType = new Zend_CodeGenerator_Php_Docblock_Tag();
$colTagType->setName('var');
$colTagType->setDescription(Zend_CodeGenerator_Php_Property_DefaultValue::TYPE_STRING);
$colDocblock->setTag($colTagType);
$constCol->setDocblock($colDocblock);
//Einfügen!
$this->getClass()->setProperty($constCol);
}
}
}
示例8: testLongDescriptionGetterAndSetter
public function testLongDescriptionGetterAndSetter()
{
$this->_docblock->setLongDescription('Long Description');
$this->assertEquals('Long Description', $this->_docblock->getLongDescription());
}