ReflectionClass::getMethod

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getMethod获取类方法的 ReflectionMethod

说明

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

获取类方法的 ReflectionMethod

参数

name

要反射的方法名称。

返回值

一个 ReflectionMethod

错误/异常

如果方法不存在则会抛出 ReflectionException 异常。

示例

示例 #1 ReflectionClass::getMethod() 的基本用法

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

以上示例会输出:

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

参见

添加备注

用户贡献的备注 2 notes

up
7
Jarrod Nettles
14 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 typeforeach($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