本文整理汇总了PHP中Zend_CodeGenerator_Php_Parameter::fromReflection方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_CodeGenerator_Php_Parameter::fromReflection方法的具体用法?PHP Zend_CodeGenerator_Php_Parameter::fromReflection怎么用?PHP Zend_CodeGenerator_Php_Parameter::fromReflection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_CodeGenerator_Php_Parameter
的用法示例。
在下文中一共展示了Zend_CodeGenerator_Php_Parameter::fromReflection方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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;
}
示例2: 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;
}
示例3: testFromReflection_Generate
/**
* @dataProvider dataFromReflection_Generate
* @param string $methodName
* @param string $expectedCode
*/
public function testFromReflection_Generate($methodName, $expectedCode)
{
$reflParam = $this->getFirstReflectionParameter($methodName);
$codeGenParam = Zend_CodeGenerator_Php_Parameter::fromReflection($reflParam);
$this->assertEquals($expectedCode, $codeGenParam->generate());
}