PHPKonf Istanbul PHP Conference 2019 - Call for Papers

The ReflectionFunction class

(PHP 5, PHP 7)

Introduction

The ReflectionFunction class reports information about a function.

Class synopsis

ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
/* Constants */
const integer IS_DEPRECATED = 262144 ;
/* Properties */
public $name ;
/* Methods */
public __construct ( mixed $name )
public static export ( string $name [, string $return ] ) : string
public getClosure ( void ) : Closure
public invoke ([ mixed $... ] ) : mixed
public invokeArgs ( array $args ) : mixed
public isDisabled ( void ) : bool
public __toString ( void ) : string
/* Inherited methods */
final private ReflectionFunctionAbstract::__clone ( void ) : void
public ReflectionFunctionAbstract::getFileName ( void ) : string
public ReflectionFunctionAbstract::getName ( void ) : string
abstract public ReflectionFunctionAbstract::__toString ( void ) : void
}

Properties

name

Name of the function. Read-only, throws ReflectionException in attempt to write.

Predefined Constants

ReflectionFunction Modifiers

ReflectionFunction::IS_DEPRECATED

Indicates deprecated functions.

Table of Contents

add a note add a note

User Contributed Notes 1 note

up
1
Lorenz R.S.
7 years ago
Here is a concise example of ReflectionFunction usage for Parameter Reflection / introspection (e.g. to automatically generate API descriptions)

<?php
$properties
= $reflector->getProperties();
$refFunc = new ReflectionFunction('preg_replace');
foreach(
$refFunc->getParameters() as $param ){
   
//invokes ■ReflectionParameter::__toString
   
print $param;
}
?>

prints:

Parameter #0 [ <required> $regex ]
Parameter #1 [ <required> $replace ]
Parameter #2 [ <required> $subject ]
Parameter #3 [ <optional> $limit ]
Parameter #4 [ <optional> &$count ]
To Top