ReflectionClass::getMethod
(PHP 5, PHP 7, PHP 8)
ReflectionClass::getMethod — クラスメソッドの 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" }
+add a note
User Contributed Notes 2 notes
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 type
foreach($parameters as $param)
{
//Before you call getClass() that class must be defined!
echo $param->getClass()->name;
}
?>
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';
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google