首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ReflectionMethod::__construct

(PHP 5, PHP 7)

ReflectionMethod :: __构造 - 构造一个ReflectionMethod

描述

代码语言:javascript
复制
public ReflectionMethod::__construct ( mixed $class , string $name )
代码语言:javascript
复制
public ReflectionMethod::__construct ( string $class_method )

构造一个新的ReflectionMethod。

参数

class

包含该方法的类名或对象(类的实例)。

name

方法的名称。

class_method

类名称和方法名称由::分隔。

返回值

没有值返回。

错误/异常

如果给定的方法不存在,则抛出ReflectionException。

例子

示例#1 ReflectionMethod :: __ construct()示例

代码语言:javascript
复制
<?php
class?Counter
{
????private?static?$c?=?0;

????/**
?????*?Increment?counter
?????*
?????*?@final
?????*?@static
?????*?@access??public
?????*?@return??int
?????*/
????final?public?static?function?increment()
????{
????????return?++self::$c;
????}
}

//?Create?an?instance?of?the?ReflectionMethod?class
$method?=?new?ReflectionMethod('Counter',?'increment');

//?Print?out?basic?information
printf(
????"===>?The?%s%s%s%s%s%s%s?method?'%s'?(which?is?%s)\n"?.
????"?????declared?in?%s\n"?.
????"?????lines?%d?to?%d\n"?.
????"?????having?the?modifiers?%d[%s]\n",
????????$method->isInternal()???'internal'?:?'user-defined',
????????$method->isAbstract()???'?abstract'?:?'',
????????$method->isFinal()???'?final'?:?'',
????????$method->isPublic()???'?public'?:?'',
????????$method->isPrivate()???'?private'?:?'',
????????$method->isProtected()???'?protected'?:?'',
????????$method->isStatic()???'?static'?:?'',
????????$method->getName(),
????????$method->isConstructor()???'the?constructor'?:?'a?regular?method',
????????$method->getFileName(),
????????$method->getStartLine(),
????????$method->getEndline(),
????????$method->getModifiers(),
????????implode('?',?Reflection::getModifierNames($method->getModifiers()))
);

//?Print?documentation?comment
printf("--->?Documentation:\n?%s\n",?var_export($method->getDocComment(),?1));

//?Print?static?variables?if?existant
if?($statics=?$method->getStaticVariables())?{
????printf("--->?Static?variables:?%s\n",?var_export($statics,?1));
}

//?Invoke?the?method
printf("--->?Invocation?results?in:?");
var_dump($method->invoke(NULL));
?>

上面的例子会输出类似于:

代码语言:javascript
复制
===> The user-defined final public static method 'increment' (which is a regular method)
     declared in /Users/philip/cvs/phpdoc/test.php
     lines 14 to 17
     having the modifiers 261[final public static]
---> Documentation:
 '/**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Invocation results in: int(1)

← ReflectionMethod

ReflectionMethod::export →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com