(PHP 5 >= 5.1.2, PHP 7, PHP 8)
ReflectionClass::hasMethod — メソッドが定義されているかどうかを調べる
$name
): boolそのクラスで特定のメソッドが定義されているかどうかを調べます。
name
調べたいメソッドの名前。
メソッドが定義されている場合に true
、それ以外の場合に false
を返します。
例1 ReflectionClass::hasMethod() の例
<?php
Class C {
public function publicFoo() {
return true;
}
protected function protectedFoo() {
return true;
}
private function privateFoo() {
return true;
}
static function staticFoo() {
return true;
}
}
$rc = new ReflectionClass("C");
var_dump($rc->hasMethod('publicFoo'));
var_dump($rc->hasMethod('protectedFoo'));
var_dump($rc->hasMethod('privateFoo'));
var_dump($rc->hasMethod('staticFoo'));
// C には bar メソッドがありません
var_dump($rc->hasMethod('bar'));
// メソッド名は大文字小文字を区別しません
var_dump($rc->hasMethod('PUBLICfOO'));
?>
上の例の出力は以下となります。
bool(true) bool(true) bool(true) bool(true) bool(false) bool(true)