(PHP 5, PHP 7)
Constructs a ReflectionMethod
public ReflectionMethod::__construct ( mixed $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 ::.
Returns:
No value is returned.
Exception:
A ReflectionException is thrown if the given method does not exist.
Examples:
ReflectionMethod::__construct() example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <?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)); ?> |
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:
Please login to continue.