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
廣告