文字

ReflectionClass::getMethod

(PHP 5)

ReflectionClass::getMethod获取一个类方法的 ReflectionMethod。

说明

public ReflectionMethod ReflectionClass::getMethod ( string $name )

获取一个类方法的 ReflectionMethod。

参数

name

要反射的方法名称。

返回值

一个 ReflectionMethod。

错误/异常

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

范例

Example #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"
}

参见

  • ReflectionClass::getMethods() - 获取方法的数组

用户评论:

[#1] Christopher Turner [2011-03-23 19:04:48]

If the method doesn't exist within the class that the ReflectionClass is reflecting an Exception is thrown.

[#2] Jarrod Nettles [2010-12-22 12:58:14]

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;
}

?>

上一篇: 下一篇: