PHP 8.6.0 Beta 1 is available for testing

ReflectionClass::getMethod

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getMethodObtiene un ReflectionMethod para un método de clase

Descripción

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

Obtiene un ReflectionMethod para un método de clase.

Parámetros

name

El nombre del método a reflejar.

Valores devueltos

Un objeto ReflectionMethod .

Errores/Excepciones

Una excepción ReflectionException si el método no existe.

Ejemplos

Ejemplo #1 Uso simple de ReflectionClass::getMethod()

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

El ejemplo anterior mostrará:

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

Véase también

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 2 notes

up
7
Jarrod Nettles
15 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
-3
sagittaracc at gmail dot com
4 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';
+add a note

AltStyle によって変換されたページ (->オリジナル) /