Php/docs/reflectionmethod.construct

From Get docs

ReflectionMethod::__construct

(PHP 5, PHP 7)

ReflectionMethod::__constructConstructs a ReflectionMethod


Description

public ReflectionMethod::__construct ( string|object $class , string $name )

public ReflectionMethod::__construct ( string $class_method )

Constructs a new ReflectionMethod.


Parameters

class
Classname or object (instance of the class) that contains the method.
name
Name of the method.
class_method
Class name and method name delimited by ::.


Return Values

No value is returned.


Errors/Exceptions

A ReflectionException is thrown if the given method does not exist.


Examples

Example #1 ReflectionMethod::__construct() example

<?phpclass 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 informationprintf(    "===> 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 commentprintf("---> Documentation:\n %s\n", var_export($method->getDocComment(), true));// Print static variables if existantif ($statics= $method->getStaticVariables()) {    printf("---> Static variables: %s\n", var_export($statics, true));}// Invoke the methodprintf("---> Invocation results in: ");var_dump($method->invoke(NULL));?>

The above example will output something similar to:


===> 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)

See Also