« ReflectionClass::hasConstant
ReflectionClass::hasProperty »

ReflectionClass::hasMethod

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

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

説明

public function ReflectionClass::hasMethod(string $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)

参考

関連キーワード:
ReflectionClass   hasMethod   dump   return   hasConstant   hasProperty   publicFoo   protectedFoo   privateFoo   staticFoo   特定   protected   private   static   大文字   小文字   区別   PUBLICfOO   参考   定数   プロパティ
関連する関数・ページ:
reflectionclass.hasconstant   reflectionclass.hasproperty   reflectionclass.getparentclass   reflectionclass.getname   reflectionclass.getfilename   reflectionclass.isuserdefined