PHP - Class/Object 的 method_exists() 函数



PHP Class/Object 的 **method_exists()** 函数用于检查给定类或对象中是否存在给定的方法。如果方法存在则返回 true,如果方法不存在则返回 false。这对于在不发生错误的情况下查找可以调用的方法非常有用。

语法

以下是 PHP Class/Object **method_exists()** 函数的语法:

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

参数

以下是 **method_exists()** 函数的参数:

  • **$object_or_class** - 它可以是一个对象或一个类名,您要在其中检查方法的存在。

  • **$method** - 这是要检查的类或对象中的方法名称。

返回值

如果方法存在,**method_exists()** 函数返回 TRUE,否则在失败时返回 FALSE。

PHP 版本

**method_exists()** 函数首次出现在 PHP 4 的核心版本中,并在 PHP 5、PHP 7 和 PHP 8 中继续轻松运行。

示例 1

首先,我们将向您展示 PHP Class/Object **method_exists()** 函数的基本示例,以检查类中是否存在方法。因此,它将找到 MyClass 中存在 myMethod 方法并返回 true。

<?php
   // Define a class
   class MyClass {
      public function myMethod() {}
   }
  
   $result = method_exists('MyClass', 'myMethod');
   var_dump($result); 
?>

输出

以下是以下代码的结果:

bool(true)

示例 2

在下面的 PHP 代码中,我们将使用 **method_exists()** 函数并检查类中不存在的方法。

<?php
   // Define a class here
   class MyClass {
      public function myMethod() {}
   }
  
   $result = method_exists('MyClass', 'methodNotPresent');
   var_dump($result); 
?> 

输出

这将生成以下输出:

bool(false)

示例 3

此示例使用 **method_exists()** 函数在 MyClass 对象实例中查找 exampleMethod 方法是否存在,并返回 true。

<?php
   // Define a class here
   class MyClass {
      public function exampleMethod() {}
  }
  
  // Create an instance of MyClass
  $object = new MyClass();
  $result = method_exists($object, 'exampleMethod');
  
  // Display the output
  var_dump($result); 
?> 

输出

这将创建以下输出:

bool(true)

示例 4

在下面的示例中,我们使用 **method_exists()** 函数来检查私有方法的存在。

<?php
   // Define a class here
   class PrivateClass {
      
      //Define a private method here
      private function secretMethod() {}
  }
  
  // Check for the private method
  $result = method_exists('PrivateClass', 'secretMethod');
  
  // Display the result
  var_dump($result); 
?> 

输出

以下是上述代码的输出:

bool(true)
php_function_reference.htm
广告