PHP 8.4.0 RC4 available for testing

ReflectionClass::getMethod

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getMethodRécupère un ReflectionMethod pour une méthode de classe

Description

public ReflectionClass::getMethod(string $name): ReflectionMethod

Récupère un ReflectionMethod pour une méthode de classe.

Liste de paramètres

name

Le nom de la méthode à refléter.

Valeurs de retour

Un objet ReflectionMethod.

Erreurs / Exceptions

Une exception ReflectionException si la méthode n'existe pas.

Exemples

Exemple #1 Utilisation simple de ReflectionClass::getMethod()

<?php
$class
= new ReflectionClass('ReflectionClass');
$method = $class->getMethod('getMethod');
var_dump($method);
?>

L'exemple ci-dessus va afficher :

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(9) "getMethod"
  ["class"]=>
  string(15) "ReflectionClass"
}

Voir aussi

add a note

User Contributed Notes 2 notes

up
7
Jarrod Nettles
13 years ago
If you ever need to get the type hint of a parameter in a method use this.

<?php

//Target our class
$reflector = new ReflectionClass('MyClass');

//Get the parameters of a method
$parameters = $reflector->getMethod('FireCannon')->getParameters();

//Loop through each parameter and get the type
foreach($parameters as $param)
{
//Before you call getClass() that class must be defined!
echo $param->getClass()->name;
}

?>
up
-2
sagittaracc at gmail dot com
3 years ago
if you ever need to get the body of a method, use this extension (https://github.com/sagittaracc/reflection):

namespace sagittaracc\classes;

class Test
{
public function method()
{
if (true) {
return 'this method';
}

return 'never goes here';
}
}

$reflection = new ReflectionClass(Test::class);
$method = $reflection->getMethod('method');
echo $method->body; // if (true) { return 'this method'; } return 'never goes here';
To Top