PHP - Class/Object method_exists() Function



The PHP Class/Object method_exists() function is used to check if a given method exists in a given class or object. It returns true if the method exists and false if method does not exist. This is useful for finding that a method can be called without having an error.

Syntax

Below is the syntax of the PHP Class/Object method_exists() function −

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

Parameters

Below are the parameters of the method_exists() function −

  • $object_or_class − It can be an object or a class name in which you want to check for the method's presence.

  • $method − It is the name of the method, checking for within the class or object.

Return Value

The method_exists() function returns TRUE if the method exists, otherwise FALSE on failure.

PHP Version

First introduced in core PHP 4, the method_exists() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

First we will show you the basic example of the PHP Class/Object method_exists() function to check if a method exists in a class. So it will find that the method myMethod exists in MyClass and returns true.

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

Output

Here is the outcome of the following code −

bool(true)

Example 2

In the below PHP code we will use the method_exists() function and check for a method which is not present in the class.

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

Output

This will generate the below output −

bool(false)

Example 3

This example finds that the method exampleMethod exists using the method_exists() function in an object instance of MyClass and returns 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); 
?> 

Output

This will create the below output −

bool(true)

Example 4

In the following example, we are using the method_exists() function to check the existence of a private method.

<?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); 
?> 

Output

Following is the output of the above code −

bool(true)
php_function_reference.htm
Advertisements