method_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

method_existsクラスメソッドが存在するかどうかを確認する

説明

method_exists(object|string $object_or_class, string $method): bool

指定した object_or_class にクラスメソッドが存在するかどうかを調べます。

パラメータ

object_or_class

オブジェクトのインスタンス、あるいはクラス名。

method

メソッドの名前。

戻り値

method で指定したメソッドが 指定した object_or_class において定義されている場合に true、そうでない場合に false を返します。

例1 method_exists() の例

<?php
$directory 
= new Directory('.');
var_dump(method_exists($directory,'read'));
?>

上の例の出力は以下となります。

bool(true)

例2 staticメソッドに対する method_exists() の例

<?php
var_dump
(method_exists('Directory','read'));
?>

上の例の出力は以下となります。

bool(true)

注意

注意:

この関数を使うと、未知のクラスに対しては登録済みの autoloader を使用します。

参考

  • function_exists() - 指定した関数が定義されている場合に true を返す
  • is_callable() - 引数が、現在のスコープから関数としてコール可能な値かどうかを調べる
  • class_exists() - クラスが定義済みかどうかを確認する