ConFoo Montreal 2017 Calling for Papers

La classe ReflectionFunction

(PHP 5, PHP 7)

Introduction

La classe ReflectionFunction rapporte des informations sur une fonction.

Synopsis de la classe

ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
/* Constantes */
const integer IS_DEPRECATED = 262144 ;
/* Propriétés */
public $name ;
/* Méthodes */
public __construct ( mixed $name )
public static string export ( string $name [, string $return ] )
public Closure getClosure ( void )
public mixed invoke ([ mixed $parameter [, mixed $... ]] )
public mixed invokeArgs ( array $args )
public bool isDisabled ( void )
public string __toString ( void )
/* Méthodes héritées */
final private void ReflectionFunctionAbstract::__clone ( void )
public ReflectionClass ReflectionFunctionAbstract::getClosureScopeClass ( void )
public ReflectionExtension ReflectionFunctionAbstract::getExtension ( void )
public string ReflectionFunctionAbstract::getName ( void )
public ReflectionType ReflectionFunctionAbstract::getReturnType ( void )
abstract public void ReflectionFunctionAbstract::__toString ( void )
}

Propriétés

name

Nom de la fonction. En lecture seule, émets une exception de type ReflectionException s'y l'on tente d'y écrire.

Constantes pré-définies

Modificateurs de ReflectionFunction

ReflectionFunction::IS_DEPRECATED

Indique une fonction obsolète.

Sommaire

add a note add a note

User Contributed Notes 1 note

up
0
Lorenz R.S.
5 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