ReflectionClass::hasMethod

(PHP 5 >= 5.1.2, PHP 7)

ReflectionClass::hasMethodメソッドが定義されているかどうかを調べる

説明

public ReflectionClass::hasMethod ( string $name ) : bool

そのクラスで特定のメソッドが定義されているかどうかを調べます。

パラメータ

name

調べたいメソッドの名前。

返り値

メソッドが定義されている場合に TRUE、それ以外の場合に FALSE を返します。

例1 ReflectionClass::hasMethod() の例

<?php
Class {
    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)

参考